SKControl.DLL | | | | Manfred Barei | ¡Hola Sebastian,
hast Usted veces para esta befehl una kurzes Ejemplo, komme así no kanz glar. SKCtrl_CreateHvrImageButtonEx(hwnd, img, s, ico, hndl, offx, offy, w, h, x, y, sx, sy, hInst)
Grus |
| | | Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 | | 11.11.2007 ▲ |
| |
| | Sebastian König | ¡Hola Manfred,
el Función kannst Usted dazu benutzen, en sólo una cierto Teil uno Mapa de bits (Position offx,offy, Größe w * h) como Grafik a benutzen. Zum Ejemplo verwendet KompilierenMarcaSeparaciónSKCtrl_CreateHvrImageButtonEx(%hwnd,multi.bmp,Test,0,0,32,0,32,32,200,510,150,50,%hInstance) > el Feld Nummer 2 de el Expediente en el Anhang.
HTH
Sebastian |
| | | | |
| | Manfred Barei | ¡Hola Sebastian,
mmmm, el es no Yo costumbre. ¿Cómo se puede I, con diser Función una Button con uno BMP de uno DLL ocupar.
cadena cadena#,0=SKHVRIMAGEBUTTON cadena skimage#,0 =EROGRAMMEXPROFAN10LIBSKBILD2.BMP SKHVRIMAGEBUTTON1&=SKCTRL_CREATEHVRIMAGEBUTTON(%HWND,skimage#,cadena#,0,0,0172,0246,0150,0030,%hInstance)
Grus Manfred |
| | | Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 | | 18.11.2007 ▲ |
| |
| | Sebastian König | ¡Hola Manfred,
en una Bild de uno DLL a benutzen, musst Usted Usted primero una Handle darauf besorgen. Ab XProfan 9 (oder 10, bin me gerade no sicher) va lo simple con Crear(hPic,...) - en älteren Versionen musst Usted el API LoadImage() benutzen (dafür hay sicherlich aquí en el Comunidad algunos Beispiele).
Das Handle se entonces simplemente a Punto des Dateinamens (en Deinem Ejemplo skimage#) transferencia. Außerdem muss el fünfte Parámetro de SKCtrl_CreateHvrImageButton() en 1 gesetzt voluntad en anzuzeigen, dass lo en Grafik en una Handle es.
MfG
Sebastian |
| | | | |
| | Manfred Barei | ¡Hola Sebastian,
bekomme lo simplemente no hin Was mache Yo falso? Hier una kurzes beispiel Yo lo hacer quería, KompilierenMarcaSeparación $P+
SET(ERRORLEVEL,0)
DEF GETSYSCOLOR(1) !USER32,GetSysColor
DEF GETWINDOW(2) !USER32,GetWindow
DECLARE SKCONTROL&,STRING#,SKIMAGE#,SKIMAGE2#,SKIMAGE3#,FONT&
DECLARE GW_CHILD&
Declare DemoDll&,DLLPic&
GW_CHILD& = 5
$I E:PROGRAMMEXPROFAN10LIBSKCONTROL.INC (Für SKCONTROL.DLL)
DemoDll&=@USEDLL(DEMO.DLL)
SKCONTROL&=USEDLL(E:PROGRAMMEXPROFAN10LIBSKCONTROL.DLL)
SKCTRL_INITDLL()
DIM STRING#,500
DIM SKIMAGE#,500
DIM SKIMAGE2#,500
DIM SKIMAGE3#,500
FONT&=CREATE(FONT,MS SANS SERIF,13,0,0,0,0)
DECLARE SKCLRHVRIMAGEBUTTON1&
DECLARE BUTTON1&
WINDOWSTYLE 63
WINDOWTITLE BMP aus DLL
WINDOW 604,302-279,189
SET(TRUECOLOR,1)
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT MS Sans Serif,13,0,0,0,0
SETDIALOGFONT 1
Hier kann ggf. Ihr Menü hin
DLLPic&=@Create(hPic,DemoDll&,UNFALL1)
string string#,0=
string skimage#,0 =DLLPic&
SKCLRHVRIMAGEBUTTON1&=SKCTRL_CREATECLRHVRIMAGEBUTTON(%HWND,skimage#,string#,0,1,RGB(0,255,255),RGB(0,64,128),0052,0045,0033,0033,%hInstance)
SETFONT SKCLRHVRIMAGEBUTTON1&,FONT&
SKCTRL_SETCOLOR(SKCLRHVRIMAGEBUTTON1&,1,RGB(0,0,160))
SKCTRL_SETCOLOR(SKCLRHVRIMAGEBUTTON1&,2,GETSYSCOLOR(15))
BUTTON1& = CREATE(BUTTON,%HWND,Ende,0095,0110,0070,0030)
SETFOCUS(%HWND)
REPAINT
WHILENOT ENDE%
WAITINPUT
If %KEY=2
ENDE%= 1
ELSEIF %KEY=4
ELSEIF GETFOCUS(SKCLRHVRIMAGEBUTTON1&) SKCLRHVRIMAGEBUTTON
ELSEIF GETFOCUS(BUTTON1&) BUTTON
ENDE%= 1
ENDIF
ENDWHILE
DISPOSE STRING#
DISPOSE SKIMAGE#
DISPOSE SKIMAGE2#
DISPOSE SKIMAGE3#
SKCTRL_DEINITDLL()
FREEDLL SKCONTROL&
FREEDLL DemoDll&
DELETEOBJECT DLLPic&
DELETEOBJECT FONT&
El DLL hänge Yo el Contribución a.
grus Manfred |
| | | Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 | | 01.12.2007 ▲ |
| |
| | | @Manfred Yo mache lo siempre con diesem Code KompilierenMarcaSeparaciónDEF LoadImage(6) ! USER32,LoadImageA
DECLARE eigen_dll&
eigen_dll&=UseDLL(shell32.dll) Kann jede DLL benutzt werden
------------------------------------------------------------------------
proc showbutton damit das Icon auch immer wieder angezeigt wird, ohne diese Proc wird es in der Exe nicht mehr angezeigt
parameters hdl& handle des Static controls
showwindow(hdl&,0)
showwindow(hdl&,1)
endproc
Parameter: Fenster, oder Dialoghandle, Buttontext, handle der iconresource, Iconname, x%,y%,w%,h%, ButtonID, Text Links, rechts oder Zentiert
subproc Create.ITextbutton
Parameters hwnd&,text$,source&,image$,x%,y%,w%,h%,id&,dct$
declare button&,st&,Imh&,hpos&,hwid&
Imh& = LoadImage(source&,addr(Image$),$1,20,20,$0) Icongröße = 20 x 20
if dct$ = upper$(R)
button& = Control(BUTTON,text$,$54010200,x%,y%,w%,h%,hwnd&,id&,eigen_dll&,$0100)
elseif dct$ = upper$(L)
button& = Control(BUTTON,text$,$54010100,x%,y%,w%,h%,hwnd&,id&,eigen_dll&,$0100)
elseif dct$ = upper$(C)
button& = Control(BUTTON,text$,$54010000,x%,y%,w%,h%,hwnd&,id&,eigen_dll&,$0100)
endif
hpos& = height(button&) - 20
hpos& = int(hpos&/2)
hwid& = width(button&) -23 3 pixel vom Rand weg + Icongröße
if (dct$ = upper$(R)) or (dct$ = upper$(C))
st& = control(Static,,$50000003,3,hpos&,20,20,button&,0,%Hinstance)
else
st& = control(Static,,$50000003,hwid&,hpos&,20,20,button&,0,%Hinstance)
endif
Sendmessage(st&,$170,Imh&,0)
showbutton(st&)
return str$(button&) + | + str$(st&)
endproc
############################################################
DECLARE hlp$,hlp%,tip%,font0%
Jeder Button braucht zwei Variablen - eine String- und eine Integer-Variable
DECLARE win1&,but1$,but1%
font0%=CREATE(FONT,ARIAL,16,6,0,0,0)
CLS
--------------------------------------------------------------------
hlp$ = create(ITextbutton,%hwnd,F1 Hilfe ,eigen_dll&,#24, 5,3,80,25,10,R)
Vorletzter Parameter ID-Nr(für jeden Button ändern) - Letzter Parameter R=rechts, L=links,C=mittig
hlp% = val(substr$(hlp$,1,|))
SetFont hlp%,font0%
tip%=CREATE(TOOLTIP,%HWnd,hlp%, Den Hilfetext anzeigen...)
---------------------------------------------------------------------
win1&=CREATE(DIALOG,%HWnd,Dialog,50,150,200,200) das geht auch auf Dialog-Fenstern
but1$ = create(ITextbutton,win1&,&Laden ,eigen_dll&,#5, 5,3,80,25,20,R) ID-Nr ändern
but1% = val(substr$(but1$,1,|))
SetFont but1%,font0%
tip%=CREATE(TOOLTIP,%HWnd,but1%, Datei laden...)
---------------------------------------------------------------------
WAITIN >
FIN
Viel Erfolg ! |
| | | | |
| | Sebastian König | Manfred Barei
bekomme lo simplemente no hin Was mache Yo falso? Hier una kurzes beispiel Yo lo hacer quería, (...)
Der Fehler liegt en el folgenden Zeilen: KompilierenMarcaSeparaciónstring skimage#,0 =DLLPic&
SKCLRHVRIMAGEBUTTON1&=SKCTRL_CREATECLRHVRIMAGEBUTTON(%HWND,skimage#,string#,0,1,RGB(0,255,255),RGB(0,64,128),0052,0045,0033,0033,%hInstance)e> Wenn en lugar de uno Dateinamens una Handle benutzt voluntad se, así es dieses no en el Bereichsvariable a escribir, pero direkt a transferencia. Richtig wäre demnach dieser Aufruf: KompilierenMarcaSeparaciónSKCLRHVRIMAGEBUTTON1&=SKCTRL_CREATECLRHVRIMAGEBUTTON(%HWND,DLLPic&,string#,0,1,RGB(0,255,255),RGB(0,64,128),0052,0045,0033,0033,%hInstance) > HTH
Sebastian |
| | | | |
| | Manfred Barei | ¡Hola,
qué tener Yo no ya alles probiert, aber dass no.
Gracias, ahora funzt lo.
Grus |
| | | Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 | | 05.12.2007 ▲ |
| |
|
RespuestaThemeninformationenDieses Thema ha 3 subscriber: |