Forum | | | | Detlef Jagolski |
| | | XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 02.06.2008 ▲ |
| |
| | | | | | | |
| | Detlef Jagolski | allô Si,
qui Prozeduren ConTextMenu, MeasureItem et DrawItem sommes chez beiden juste.
Nochwas, si je cela hwnd Menu Subclasse Funktioniert aussi sans Probleme.
Comme je le disais Code 1 Funktioniert sans Probleme l'autre pas KompilierenMarqueSéparation $P+
Set(ErrorLevel,0)
Set(FastMode,1)
*** GlobalStatements der Form
$H C:PROGRAMMEXPROFAN10INCLUDEWINDOWS.PH
$H C:PROGRAMMEXPROFAN10INCLUDEMESSAGES.PH
$H C:PROGRAMMEXPROFAN10INCLUDESHELLAPI.PH
$H C:PROGRAMMEXPROFAN10INCLUDESTRUCTS.PH
$H C:PROGRAMMEXPROFAN10INCLUDECOMMCTRL.PH
$H C:PROGRAMMEXPROFAN10INCLUDEWIND.PH
$I C:PROGRAMMEPRFELLOWLIBXPMENU.INC
Def EnableMenuItem(3) !USER32,EnableMenuItem
var hOldFont& = Create(FONT,Arial,14,0,0,0,0)
Proc EditProc
Parameters Edit&, Message&, wParam&, lParam&
Select Message&
CaseOf ~WM_CONTEXTMENU
ConTextMenu LoWord(lParam&), HiWord(lParam&)
CaseOf ~WM_MEASUREITEM
MeasureItem Edit&, lParam&
CaseOf ~WM_DRAWITEM
DrawItem lParam&
EndSelect
Return ~CallWindowProc(OldEdit&Proc&, Edit&&, Message&, wParam&, lParam&)
EndProc
Declare appexit%
Declare Edit&
Set(TrueColor,1)
WindowStyle $003F
WindowTitle DesignForm
Window %maxX + 5,114 - 498,415
Cls ~GetSysColor(15)
UseFont MS Sans Serif,13,0,0,0,0
CreateImageList ICONXP32.DLL
SetMenuBitmap SP32.DLL, FSSP
SetCheckedImage 116
SetMenuStandardColors
var Rueckgaengig$ = Rückgängig
var Ausschneiden$ = Ausschneiden
var Kopieren$ = Kopieren
var Einfuegen$ = Einfügen
var Loeschen$ = Löschen
var AllesMarkieren$ = Alles markieren
var hConTextMenu& = ~CreatePopupMenu()
~AppendMenu(hConTextMenu&, ~MF_STRING,1000,Addr(Rueckgaengig$))
~AppendMenu(hConTextMenu&, ~MF_SEPARATOR,101,0)
~AppendMenu(hConTextMenu&, ~MF_STRING,1002,Addr(Ausschneiden$))
~AppendMenu(hConTextMenu&, ~MF_STRING,1003,Addr(Kopieren$))
~AppendMenu(hConTextMenu&, ~MF_STRING,1004,Addr(Einfuegen$))
~AppendMenu(hConTextMenu&, ~MF_STRING,1005,Addr(Loeschen$))
~AppendMenu(hConTextMenu&, ~MF_SEPARATOR,106,0)
~AppendMenu(hConTextMenu&, ~MF_STRING,1007,Addr(AllesMarkieren$))
ChangeMenuItem hConTextMenu&,0,3,hOldFont&
ChangeMenuItem hConTextMenu&,1,-1,-1
ChangeMenuItem hConTextMenu&,2,0,hOldFont&
ChangeMenuItem hConTextMenu&,3,1,hOldFont&
ChangeMenuItem hConTextMenu&,4,2,hOldFont&
ChangeMenuItem hConTextMenu&,5,5,hOldFont&
ChangeMenuItem hConTextMenu&,6,-1,-1
ChangeMenuItem hConTextMenu&,7,-1,hOldFont&
Edit&=CreateEdit(%hwnd,,125,90,121,21)
OldEdit&Proc& = ~SetWindowLong(Edit&,~GWL_WNDPROC,ProcAddr(EditProc,4))
SetWindowPos %hwnd = 207,114 - 498,415;0
WhileNot appexit%
WaitInput
If %key = 2
appexit%=1
ElseIf GetFocus(Edit1&)
ElseIf %key = 4
Fenstergröße
ElseIf %key = 5
Hilfe
EndIf
Wend
KompilierenMarqueSéparation $P+
Set(ErrorLevel,0)
*** GlobalStatements qui forme
$H C:PROGRAMMEXPROFAN10INCLUDEWINDOWS.PH
$H C:PROGRAMMEXPROFAN10INCLUDEMESSAGES.PH
$H C:PROGRAMMEXPROFAN10INCLUDESHELLAPI.PH
$H C:PROGRAMMEXPROFAN10INCLUDESTRUCTS.PH
$H C:PROGRAMMEXPROFAN10INCLUDECOMMCTRL.PH
$H C:PROGRAMMEXPROFAN10INCLUDEWIND.PH
$I C:PROGRAMMEPRFELLOWLIBXPMENU.INC
Def EnableMenuItem(3) !USER32,EnableMenuItem
var hOldFont& = Créer(FONT,Arial,14,0,0,0,0)
SubClassProc
Si SubClassMessage(Edit&, ~WM_CONTEXTMENU)
ConTextMenu LoWord(&sLParam), HiWord(&sLParam)
ElseIf SubClassMessage(Edit&, ~WM_MEASUREITEM)
MeasureItem Edit&, &sLParam
ElseIf SubClassMessage(Edit&, ~WM_DRAWITEM)
DrawItem &sLParam
EndIf
ENDPROC
Déclarer appexit%
Déclarer Edit&
Set(TrueColor,1)
Fenêtre Style $003F
Titre de la fenêtre DesignForm
Fenêtre %maxx + 5,114 - 498,415
Cls ~GetSysColor(15)
UseFont MS Sans Serif,13,0,0,0,0
CreateImageList ICONXP32.DLL
SetMenuBitmap SP32.DLL, FSSP
SetCheckedImage 116
SetMenuStandardColors
var Rueckgaengig$ = Rückgängig
var Ausschneiden$ = Ausschneiden
var Kopieren$ = Kopieren
var Einfuegen$ = insérer
var Loeschen$ = Effacer
var AllesMarkieren$ = Alles markieren
var hConTextMenu& = ~CreatePopupMenu()
~AppendMenu(hConTextMenu&, ~MF_STRING,1000,Addr(Rueckgaengig$))
~AppendMenu(hConTextMenu&, ~MF_SEPARATOR,101,0)
~AppendMenu(hConTextMenu&, ~MF_STRING,1002,Addr(Ausschneiden$))
~AppendMenu(hConTextMenu&, ~MF_STRING,1003,Addr(Kopieren$))
~AppendMenu(hConTextMenu&, ~MF_STRING,1004,Addr(Einfuegen$))
~AppendMenu(hConTextMenu&, ~MF_STRING,1005,Addr(Loeschen$))
~AppendMenu(hConTextMenu&, ~MF_SEPARATOR,106,0)
~AppendMenu(hConTextMenu&, ~MF_STRING,1007,Addr(AllesMarkieren$))
ChangeMenuItem hConTextMenu&,0,3,hOldFont&
ChangeMenuItem hConTextMenu&,1,-1,-1
ChangeMenuItem hConTextMenu&,2,0,hOldFont&
ChangeMenuItem hConTextMenu&,3,1,hOldFont&
ChangeMenuItem hConTextMenu&,4,2,hOldFont&
ChangeMenuItem hConTextMenu&,5,5,hOldFont&
ChangeMenuItem hConTextMenu&,6,-1,-1
ChangeMenuItem hConTextMenu&,7,-1,hOldFont&
Edit&=CreateEdit(%hwnd,,125,90,121,21)
SubClass Edit&, 1
SetWindowPos %hwnd = 207,114 - 498,415;0
WhileNot appexit%
WaitInput
Si %clé = 2
appexit%=1
ElseIf GetFocus(Éditer1&)
ElseIf %clé = 4
Fenstergröße
ElseIf %clé = 5
Aider
EndIf
Wend
SubClass Edit&, 0
Salut
Detlef |
| | | XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 02.06.2008 ▲ |
| |
| | RGH | Salut, so longtemps Du pas z.B. aussi qui XPMENU.INC et autre Fichiers, qui pas zum Livraison de XProfan 10 gehören, ici mitlieferst, wird niemand Deinen Code testen et sur Fehlersuche aller peut. avec unvollständigen Beispielcodes peux niemand quelque chose anfangen.
Salut Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 02.06.2008 ▲ |
| |
| | Detlef Jagolski | merci à alle! Klappt maintenant SUPER
Besondern Dank à RGH et Andreas Miethe
Salut
Detlef |
| | | XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 11.06.2008 ▲ |
| |
| | Jörg Sellmeyer | Sieht très professionell et so gar pas profan aus! |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 11.06.2008 ▲ |
| |
| | Detlef Jagolski | | | | XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 12.06.2008 ▲ |
| |
| | | Mach pour un nouveau Thema sur. |
| | | | |
| | Jac de Lad | et avec welchem Code funktioniert cela maintenant?? |
| | | Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.07.2008 ▲ |
| |
| | Detlef Jagolski | allô Jac,
cela hat RGH encore geändert:
récente dans Subscriptionsversion RC7: ================================ ACHTUNG: ÄNDERUNGEN BEIM SUBCLASSING - Pour eingehenden Tests wurden quelques kleinere Changements notwendig:
- qui Funktion @SubClassMessage() modifié den Status, si qui ursprüngliche Windowsprozedur aufgerufen wird ou bien pas, pas plus! Soll vous pas aufgerufen volonté, ist toujours entier bewußt Set(WinProc, 0) einzufügen. Defaultmäßig wird, si rien d'autre angegeben wird, qui ursprüngliche Windowsprozedur im Anschluß à SubClassProc aufgerufen (comment bisher) - Bislang sorgt une interne Abfrage pour, dass une Message, qui au cours de qui SubClassProc aufgerufen wird, pas erneut qui SubClassProc aufruft, là ca dans seltenen Fällen trop Problemen mener peux. dans diesem le cas wird qui Message naturellement pas verschluckt, mais à qui ursprüngliche Windowsprozedur weitergeleitet. cet Abfrage peux eh bien avec @Set(SubClassMode, 1) übergangen volonté. qui abgesicherte Modus peux avec @Set(SubClassMode, 0) eingestellt volonté. - TrackMenu et @TrackMenu() gelten im Sinne des SubClassings aussi comme WaitInput.
Salut
Detlef |
| | | XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 08.07.2008 ▲ |
| |
| | Jac de Lad | Ah verstehe, qui dessus genannte Source devrait maintenant alors aller. |
| | | Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.07.2008 ▲ |
| |
| | Sato Pinto | allô Detlef
peux on qui XPMENU.INC irgendwo magasin? Ist avec cet INC aussi qui Tortengraphic machbar comme dans deinen Programme plan-Calc steht?
Gruss
Sato |
| | | | |
|
répondreOptions du sujet | 2.960 Views |
Themeninformationencet Thema hat 6 participant: |