Foro | | | | Detlef Jagolski |
| | | XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 02.06.2008 ▲ |
| |
| | | | | | | |
| | Detlef Jagolski | ¡Hola If,
el Prozeduren ConTextMenu, MeasureItem y DrawItem son en beiden igual.
Nochwas, si yo el hwnd Menu Subclasse Funktioniert auch sin Problemas.
Como ya he dicho Code 1 Funktioniert sin Problemas Der otro no KompilierenMarcaSeparación $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
KompilierenMarcaSeparación $P+
Conjunto(ErrorLevel,0)
*** GlobalStatements el 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& = Crear(FONT,Arial,14,0,0,0,0)
SubClassProc
If 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
Declarar appexit%
Declarar Edit&
Conjunto(TrueColor,1)
Ventana de Estilo $003F
Título de la ventana DesignForm
Ventana %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 marca
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
Sinestar encargado appexit%
WaitInput
If %key = 2
appexit%=1
ElseIf GetFocus(Editar1&)
ElseIf %key = 4
Fenstergröße
ElseIf %key = 5
Ayuda
EndIf
Wend
SubClass Edit&, 0
Saludo
Detlef |
| | | XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 02.06.2008 ▲ |
| |
| | RGH | ¡Hola, así largo No z.B. auch el XPMENU.INC y otro Archivos, el no para Lieferumfang de XProfan 10 gehören, hier mitlieferst, se niemand Su código testen y en Fehlersuche ir puede. Mit unvollständigen Beispielcodes kann niemand algo anfangen.
Saludo 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 | Gracias a todos! Klappt ahora SUPER
Besondern Dank a RGH y Andreas Miethe
Saludo
Detlef |
| | | XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 11.06.2008 ▲ |
| |
| | Jörg Sellmeyer | Sieht muy professionell y así nada profano de! |
| | | 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 dafür una neues Thema en. |
| | | | |
| | Jac de Lad | Und con welchem Code funktioniert el ahora?? |
| | | 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 | ¡Hola Jac,
el ha RGH todavía geändert:
Neu en Subscriptionsversion RC7: ================================ ACHTUNG: ÄNDERUNGEN BEIM SUBCLASSING - Nach eingehenden Tests fueron algunos kleinere Los cambios notwendig:
- El Función @SubClassMessage() verändert el Status, si el ursprüngliche Windowsprozedur aufgerufen se oder no, no mehr! Soll ellos no aufgerufen voluntad, es siempre bastante bewußt Conjunto(WinProc, 0) einzufügen. Defaultmäßig se, si nichts más angegeben se, el ursprüngliche Windowsprozedur en el Anschluß a SubClassProc aufgerufen (como bisher) - Bislang sorgt una interne Abfrage dafür, dass una Message, el während el SubClassProc aufgerufen se, no erneut el SubClassProc aufruft, como dies en seltenen Fällen a Problemen führen kann. In diesem Fall se el Message natürlich no verschluckt, pero a el ursprüngliche Windowsprozedur weitergeleitet. Diese Abfrage kann nun con @Conjunto(SubClassMode, 1) übergangen voluntad. Der abgesicherte Modus kann con @Conjunto(SubClassMode, 0) eingestellt voluntad. - TrackMenu y @TrackMenu() gelten en el Sinne des SubClassings auch como WaitInput.
Saludo
Detlef |
| | | XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 08.07.2008 ▲ |
| |
| | Jac de Lad | Ah verstehe, el oben genannte Source debería ahora also ir. |
| | | 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 | ¡Hola Detlef
Kann uno el XPMENU.INC irgendwo invitar? Ist con esta INC auch el Tortengraphic machbar como en deinen Programa Plan-Calc es?
Gruss
Sato |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 6 subscriber: |