Foro | | | | Jac de Lad | Hallöle,
Yo tener veces en el XProfan-Ayuda gestöbert y bin en una Möglichkeit gekommen, el Systemmenü uno Programms a erweitern. Dann Todavía qué gespostet...entonces kam qué zurück...jedenfalls Yo ahora folgendes Problema:
Wenn Yo el einbaue (con Systemmenü y así) entonces reagieren algunos Buttons en Anklicken zweimal. Das liegt a Conjunto(FastMode,1), soviel es fest. Jetzt mi Cuestión: Kann al con el Systemmenü así realisieren, dass el Fastmode no eingeschaltet voluntad muss, o. como kann Yo el geisterhafte Doppelklicken verhindern?
Jac |
| | | 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 | 10.11.2005 ▲ |
| |
| | | Hier sería lo muy helfen si du una Minimalbeispiel puesto könntest. |
| | | | |
| | Jac de Lad | KompilierenMarcaSeparación $H C:ProgrammeXProfan 8.0Includewindows.ph
$H C:ProgrammeXProfan 8.0Includemessages.ph
$H C:ProgrammeXProfan 8.0Includecommctrl.ph
Proc SystemMenu
Parameters hWnd&,Message&,wParam&,lParam&
If Equ(Message&,~WM_SYSCOMMAND)
If Equ(wParam&,5000)
Messagebox("Programm 1.0","Message",64)
endif
EndIf
Return ~CallWindowProc(OldWndProc&,hWnd&,Message&,wParam&,lParam&)
EndProc
declare up&,down&,oldwndproc&,up%,Plugin&[64],PCount%
windowstyle 26
WindowTitle "Testprogramm"
window 100,100-800,632
Set("FastMode",1)
~AppendMenu(~GetSystemMenu(%hWnd,0),~MFT_SEPARATOR,0,0)
~AppendMenu(~GetSystemMenu(%hWnd,0),~MFT_STRING,5000,"Über Programm 1.0")
OldWndProc&=~GetWindowLong(%hWnd,~GWL_WNDPROC)
~SetWindowLong(%hWnd,~GWL_WNDPROC,ProcAddr("SystemMenu",4))
up&=CREATEBUTTON(%HWnd,"/",1,1,194,20)
down&=CREATEBUTTON(%HWnd,Add$(Chr$($5C),Chr$($2F)),1,580,194,20)
whileloop 0,13
Plugin&[&Loop]=Control("Button",Str$(&Loop),Add($40008088,If(LT(PCount%,9),$10000000,0)),2,Add(Mul(62,&Loop),22),194,60,%HWnd,Add(1001,&Loop),%Hinstance)
Inc PCount%
wend
while 1
EnableWindow up&,Neq(up%,0)
EnableWindow down&,GT(Sub(Sub(PCount%,9),up%),0)
waitinput
if GetFocus(up&)
Hochscrollen
ShowWindow(Plugin&[Sub(up%,1)],1)
Dec up%
Whileloop up%,Add(up%,8)
SetWindowPos Plugin&[&Loop]=2,Add(22,Mul(62,Sub(&Loop,up%)))-194,60
wend
ShowWindow(Plugin&[Add(up%,9)],0)
elseif GetFocus(down&)
Runterscrollen
ShowWindow(Plugin&[up%],0)
Whileloop up%,Add(up%,8)
SetWindowPos Plugin&[Add(&Loop,1)]=2,Add(22,Mul(62,Sub(&Loop,up%)))-194,60
wend
ShowWindow(Plugin&[Add(up%,9)],1)
Inc up%
end
wend
Yo hoffe, du kannst qué así anfangen...sólo una vez más el Problemstellung:
Wenn Yo Conjunto(FastMode,1) weglasse stirbt el Prog beim hinzufügen des Eintrags Über Programa 1.0. Wenn Yo aber einbringe funzt el, doch el Scrollen encima up& y down& klickt siempre zweimal.
Jac |
| | | 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 | 11.11.2005 ▲ |
| |
| | Jac de Lad | Verdammt! Kann me alguien sagen, Yo el Ver código fuente correcto Mostrar lasse? Yo kriegs simplemente no gebacken!!!
Jac |
| | | 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 | 11.11.2005 ▲ |
| |
| | | LOl KompilierenMarcaSeparación - Yo verbesser Su Posting veces...
Übrigens - Usted puede Su Postings doch auch incluso bearbeiten... |
| | | | |
| | | Wehe lo behauptet uno lo sei Beschiss. KompilierenMarcaSeparación {$compiler p8}
{$runtime p8}
$H Windows.ph
$H Messages.ph
$H Commctrl.ph
Proc Systemmenu
Parameters Hwnd&,Message&,Wparam&,Lparam&
If Equ(Message&,~Wm_syscommand)
If Equ(Wparam&,5000)
Messagebox("Programm 1.0","Message",64)
Endif
Endif
Return ~Callwindowproc(Oldwndproc&,Hwnd&,Message&,Wparam&,Lparam&)
Endproc
Declare Up&,Down&,Oldwndproc&,Up%,Plugin&[64],Pcount%
Windowstyle 26
Windowtitle "Testprogramm"
Window 100,100-800,632
Set("FastMode",1)
~Appendmenu(~Getsystemmenu(%Hwnd,0),~Mft_separator,0,0)
~Appendmenu(~Getsystemmenu(%Hwnd,0),~Mft_string,5000,"Über Programm 1.0")
Oldwndproc&=~Getwindowlong(%Hwnd,~Gwl_wndproc)
~Setwindowlong(%Hwnd,~Gwl_wndproc,Procaddr("SystemMenu",4))
Up&=Createbutton(%Hwnd,"/",1,1,194,20)
Down&=Createbutton(%Hwnd,Add$(Chr$($5C),Chr$($2F)),1,580,194,20)
Whileloop 0,13
Plugin&[&Loop]=Control("Button",Str$(&Loop),Add($40008088,If(Lt(Pcount%,9),$10000000,0)),2,Add(Mul(62,&Loop),22),194,60,%Hwnd,Add(1001,&Loop),%Hinstance)
Inc Pcount%
Wend
While 1
Enablewindow Up&,Neq(Up%,0)
Enablewindow Down&,Gt(Sub(Sub(Pcount%,9),Up%),0)
Waitinput
casenot (external("USER32","GetAsyncKeyState",1)<>0) : continue
If Getfocus(Up&)
Hochscrollen
Showwindow(Plugin&[Sub(Up%,1)],1)
Dec Up%
Whileloop Up%,Add(Up%,8)
Setwindowpos Plugin&[&Loop]=2,Add(22,Mul(62,Sub(&Loop,Up%)))-194,60
Wend
Showwindow(Plugin&[Add(Up%,9)],0)
Elseif Getfocus(Down&)
Runterscrollen
Showwindow(Plugin&[Up%],0)
Whileloop Up%,Add(Up%,8)
Setwindowpos Plugin&[Add(&Loop,1)]=2,Add(22,Mul(62,Sub(&Loop,Up%)))-194,60
Wend
Showwindow(Plugin&[Add(Up%,9)],1)
Inc Up%
/a>
Wend
|
| | | | |
| | Jac de Lad | Ahh! Yo merks me. Bin veces en deine Antwort gespannt. Wenns no va, muss Yo sólo el Eintrag ausm Systemmenü otra vez entfernen.
Schönes Wochenende, Jac |
| | | 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 | 11.11.2005 ▲ |
| |
| | | Yo glaub Yo tener ya geantwortet. |
| | | | |
| | Jac de Lad | Huch, como warste otra vez más rápido como Yo...Yo habs ausprobiert: Scrollt no.
Jac |
| | | 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 | 11.11.2005 ▲ |
| |
| | | Yo hätts net Nuevo wenns net wenigstens en me funzen sería. Tjo hm... |
| | | | |
| | Michael Wodrich | En me trabajo beide, allerdings sin Beschriftung el Buttons... |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 11.11.2005 ▲ |
| |
| | | Lol also 3 Varianten |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 3 subscriber: |