| |
|
|
Ralph Theobald | allô ,
j'ai une Gridbox dans un Choicebox gebastelt , malheureusement ist qui Gridbox pas erreichbar, comment peux je cet aktivieren. KompilierenMarqueSéparationSet(FastMode,1)
$H windows.ph
$H messages.ph
Declare oldcallback&,static&,brush&,raus&,hGrid&,titel$
cls
oldcallback&=~SetWindowLong(%hwnd,~GWL_WNDPROC,ProcAddr(newcallback,4))
static&=Create(choicebox,%hwnd,Choicebox,16,16,560,180)
WhileNot raus&
WaitInput
EndWhile
End
PROC setcolor
Parameters col&,bk&,wParam&
declare Brush&
IF Brush&
~DeleteObject(Brush&)
endif
Brush& = ~CreateSolidBrush(bk&)
~SetBkMode(wParam&, ~TRANSPARENT)
~SetBKColor(wParam&,RGB(195,116,95))
~SetTextColor(wParam&,col&)
RETURN Brush&
endproc
Proc newcallback
Parameters wnd&,msg&,wparam&,lparam&
IF msg&=~WM_CTLCOLOREDIT
RETURN SetColor(rgb(255,0,0),rgb(255,255,0),wParam&)
Endif
IF msg&=~WM_CTLCOLORLISTBOX
Titel$ = Links;0;80;Mitte;2;100;Rechts;1;80
hGrid&=Create(GridBox,lparam&, Titel$, 3,1,1,549,140)
AddString(hGrid&, AB|DEF|0123)
AddString(hGrid&, GHI|J23KL|012345)
IF brush&
~DeleteObject(brush&)
EndIf
brush&=~CreateSolidBrush(Rgb(0,0,255))
RETURN brush&
Endif
If msg&=~WM_CLOSE
~DeleteObject(brush&)
raus&=1
Endif
RETURN ~CallWindowProc(oldcallback&,wnd&,msg&,wparam&,lparam&)
s4 href='./../../funktionsreferenzen/XProfan/endproc/'>ENDPROC
Salut Ralph |
|
|
| |
|
|
|
| Beim Klick sur qui Choicebox erhalte je malheureusement seulement une Absturz. |
|
|
| |
|
|
|
Jörg Sellmeyer | iF
Beim Klick sur qui Choicebox erhalte je malheureusement seulement une Absturz.
intéressant - chez Je ne. je peux mais aussi cela Listview pas anwählen. Sieht jedenfalls entier lustig aus. Allerdings ist es fraglich, si es dans qui forme irgendeinen Nutzen bringt. tu dois oui cela Contrôle chaque fois récente erstellen. chez umfangreichem le contenu pourrait cela assez bremsen. plus fällt mir en supplément malheureusement pas un, là ca ganze Callback-Zeugs mir toujours Kopfschmerzen bereitet. Salut Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08.03.2007 ▲ |
|
|
|
|
| Jupp - Callbacks dans XProfan sommes malheureusement aufgrund dessen cela ProcAddr encore ungestackt arbeitet pas empfehlenswert et volonté somit toujours Probleme bereiten. peut-être gibts dans X11 Abhilfe. |
|
|
| |
|
|
|
Ralph Theobald | merci euch beiden,
Xprofan 10 hat un Contrôle (Dateedit) chez dem funktioniert qui Concentrer sur dem le calendrier. peut-être stimmt qui Message dans qui Callbackroutine pas . Werd la fois encore un peu testen.
Salut Ralph |
|
|
| |
|
|
|
| je hab ne Solution - entier sans Fastmode et Procaddr.
seulement encore une kleine Unstimmigkeit beheben... |
|
|
| |
|
|
|
| Sieht aus comme si: KompilierenMarqueSéparation {$cleq}
cls
long static=Create(choicebox,%hwnd,Choicebox,16,16,560,180)
usermessages 16,WM_CTLCOLORLISTBOX
do {
waitinput
select umessage
caseof 16 : break
caseof WM_CTLCOLORLISTBOX : proceedChoiceBox
caseof WM_CTLCOLOREDIT : break
otherwise
endselect
}
end
proceedChoiceBox {
string Titel:=Links;0;80;Mitte;2;100;Rechts;1;80
long parent=FindWindowExA(65556,0,ComboLBox,0)
showwindow(parent,0)
long hGrid=Create(GridBox,hwnd, Titel, 3,16,40,width(parent),height(parent))
sendkey(parent,27)
addString(hGrid,AB|DEF|0123)
addString(hGrid,GHI|J23KL|012345)
while getAsyncKeyState(1)<>0
wend
dulcoiF
waitinput
case getfocus(static) : sendkey(parent,27)
string s
if getCurSel(hGrid)>-1
s:=getstring$(hGrid,getCurSel(hGrid))
endif
destroywindow(hGrid)
ifnot s== {
locate 10,1
print Ausgewählt: ,s
}
}
dulcoiF { settimer 1;waitinput;killtimer }
qui Nichtxpsevariante: KompilierenMarqueSéparationDECLARE __cf1&,__cf2&
Def __cf1(2) !KERNEL32,GetProcAddress
Def __cf2(1) !KERNEL32,GetModuleHandleA
__cf1&=__cf1(__cf2(user32.dll),FindWindowExA)
__cf2&=__cf1(__cf2(user32.dll),GetAsyncKeyState)
CLS
var STATIC&=CREATE(choicebox,%HWND,Choicebox,16,16,560,180)
USERMESSAGES 16,$0134
WHILE 1
WAITINPUT
SELECT %UMESSAGE
CASEOF 16
BREAK
CASEOF $0134
PROCEEDCHOICEBOX
OTHERWISE
ENDSELECT
ENDWHILE
end
proc PROCEEDCHOICEBOX
var TITEL$=à gauche;0;80;Mitte;2;100;à droite;1;80
var PARENT&=call(__cf1&,65556,0,ComboLBox,0)
SHOWWINDOW(PARENT&,0)
var HGRID&=CREATE(GridBox,%HWND, TITEL$, 3,16,40,WIDTH(PARENT&),HEIGHT(PARENT&))
SENDKEY(PARENT&,27)
ADDSTRING(HGRID&,AB|DEF|0123)
ADDSTRING(HGRID&,GHI|J23KL|012345)
WHILE call(__cf2&,1)<>0
ENDWHILE
DULCOIF
WAITINPUT
IF GETFOCUS(STATIC&)
SENDKEY(PARENT&,27)
ENDIF
var S$=
IF GETCURSEL(HGRID&)>-1
S$=GETSTRING$(HGRID&,GETCURSEL(HGRID&))
ENDIF
DESTROYWINDOW(HGRID&)
IFNOT S$=
LOCATE 10,1
PRINT Ausgewählt: ,S$
ENDIF
endproc
proc DULCOIF
SETTIMER 1
WAITINPUT
KILLTIMER
endproc
|
|
|
| |
|
|
|
| je serait daraus warscheinlich une super construire um cela Contrôle avec einem individuel Aufruf trop vérifier et plusieurs en erstellen trop peut - mais cela bleibt ensuite Dir überlassen. |
|
|
| |
|
|
|
| allô IF...
Habe chez mir sous Windows98 qui EXE la fois getestet - fonctionne pas. qui Choicebox klappt tout de suite wieder trop et c'est seulement un Farbengewirr trop voyons. |
|
|
| |
|
|
|
| tant pis avec Win98, habs naturellement pour Windows-XP geschrieben et getestet. |
|
|
| |
|
|
|
| iF
tant pis avec Win98, habs naturellement pour Windows-XP geschrieben et getestet.
ou bien peut-être. seulement pour deinen calculateur ou bien pour une bestimmte Version qui comctl32.dll? |
|
|
| |
|
|
|
| sur einem XPHome et un XPPro - beide Uptodate. |
|
|
| |
|
|