| |
|
|
Ralph Theobald | ¡Hola ,
Yo una Gridbox en un Choicebox gebastelt , desafortunadamente Es el Gridbox no erreichbar, como kann Yo esta aktivieren. KompilierenMarcaSeparaciónSet(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
Saludo Ralph |
|
|
| |
|
|
|
| Beim Clic en el Choicebox erhalte Yo desafortunadamente sólo choque. |
|
|
| |
|
|
|
Jörg Sellmeyer | IF
Beim Clic en el Choicebox erhalte Yo desafortunadamente sólo choque.
Interessant - no yo en el. Puedo aber auch el Listview no anwählen. Sieht jedenfalls bastante lustig de. Sin embargo, lo fraglich, si en el Form irgendeinen Nutzen bringt. Usted mußt sí el Control jedesmal neu redactar. En umfangreichem Inhalt dürfte el bastante bremsen. Más fällt me dazu por desgracia, no una, como dies todo Callback-Zeugs me siempre Kopfschmerzen bereitet. Saludo Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08.03.2007 ▲ |
|
|
|
|
| Jupp - Callbacks en XProfan son desafortunadamente aufgrund dessen el ProcAddr todavía ungestackt arbeitet no empfehlenswert y voluntad somit siempre Problemas bereiten. Tal vez gibts en X11 Abhilfe. |
|
|
| |
|
|
|
Ralph Theobald | danke euch beiden,
Xprofan 10 ha una Control (Dateedit) en el funktioniert el Foco en el Kalender. Tal vez stimmt el Message en el Callbackroutine no . Werd veces todavía una wenig testen.
Saludo Ralph |
|
|
| |
|
|
|
| Yo ne Solución - bastante sin Fastmode y Procaddr.
Nur ni kleine Unstimmigkeit beheben... |
|
|
| |
|
|
|
| Sieht de como si: KompilierenMarcaSeparación {$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 }
El Nichtxpsevariante: KompilierenMarcaSeparaciónDECLARE __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$=Links;0;80;Mitte;2;100;Rechts;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
|
|
|
| |
|
|
|
| Yo sería lo warscheinlich una Klasse bauen en el Control con un individual Aufruf a Kontrollieren y mehrere su redactar a puede - aber el restos entonces Usted überlassen. |
|
|
| |
|
|
|
| ¡Hola IF...
Posesiones en me bajo Windows98 el EXE veces getestet - se ejecuta no. El Choicebox klappt inmediatamente otra vez a y es sólo una Farbengewirr a sehen. |
|
|
| |
|
|
|
| Schade con Win98, habs natürlich para Windows-XP geschrieben y getestet. |
|
|
| |
|
|
|
| IF
Schade con Win98, habs natürlich para Windows-XP geschrieben y getestet.
Oder evtl. sólo para deinen Rechner oder para una cierto Versión el comctl32.dll? |
|
|
| |
|
|
|
| Auf una XPHome y una XPPro - beide Uptodate. |
|
|
| |
|
|