Français
SKControl.DLL

SKCtrl_CreateHvrImageButtonEx

 

Manfred
Barei
allô Sebastian,

la hâte Du la fois pour cette befehl un kurzes Beispiel, viens avec cela pas 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
allô Manfred,

qui Funktion peux Du en supplément benutzen, um seulement une certain partie einer Bitmap (Position offx,offy, Taille w * h) comme Grafik trop benutzen. Zum Beispiel verwendet
KompilierenMarqueSéparation
SKCtrl_CreateHvrImageButtonEx(%hwnd,multi.bmp,Test,0,0,32,0,32,32,200,510,150,50,%hInstance)
>

cela champ numéro 2 aus qui Dossier im Anhang.

HTH

Sebastian

13 kB
Hochgeladen:12.11.2007
Downloadcounter121
Download
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
12.11.2007  
 




Manfred
Barei
allô Sebastian,

mmmm, c'est pas quoi je coutume.
comment peux je avec diser Funktion une Button avec einer BMP aus einer DLL belegen.

string string#,0=SKHVRIMAGEBUTTON
string skimage#,0 =EROGRAMMEXPROFAN10LIBSKBILD2.BMP
SKHVRIMAGEBUTTON1&=SKCTRL_CREATEHVRIMAGEBUTTON(%HWND,skimage#,string#,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
allô Manfred,

um un Bild aus einer DLL trop benutzen, musst Du Dir zunächst un Handle puis besorgen. Ab XProfan 9 (ou bien 10, suis mir justement pas sûrement) allez cela simple avec Créer(hPic,...) - chez älteren Versionen musst Du qui API LoadImage() benutzen (pour gibt es sicherlich ici dans qui Community quelques Beispiele).

cela Handle wird ensuite simple à Stelle des Dateinamens (dans Deinem Beispiel skimage#) transfert. Aussi muss qui fünfte paramètre de SKCtrl_CreateHvrImageButton() sur 1 gesetzt volonté um anzuzeigen, dass es sich chez qui Grafik um un Handle handelt.

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
19.11.2007  
 




Manfred
Barei
allô Sebastian,

bekomme es simple pas hin
quoi fais je faux?
ici un kurzes beispiel comment je es faire voulais,
KompilierenMarqueSéparation
 $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&

qui DLL hänge je dem Beitrag à.

grus
Manfred

10 kB
Hochgeladen:01.12.2007
Downloadcounter140
Download
 
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
je fais es toujours avec diesem Code
KompilierenMarqueSéparation
DEF 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 !
 
01.12.2007  
 




Sebastian
König
Manfred Barei
bekomme es simple pas hin
quoi fais je faux?
ici un kurzes beispiel comment je es faire voulais,
(...)


qui faute liegt dans den folgenden Zeilen:
KompilierenMarqueSéparation
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)e>

si statt eines Dateinamens un Handle benutzt volonté soll, so ist cet pas dans qui Bereichsvariable trop écrivons, mais direct trop transfert. Richtig wäre donc cette Aufruf:
KompilierenMarqueSéparation
SKCLRHVRIMAGEBUTTON1&=SKCTRL_CREATECLRHVRIMAGEBUTTON(%HWND,DLLPic&,string#,0,1,RGB(0,255,255),RGB(0,64,128),0052,0045,0033,0033,%hInstance)
>

HTH

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
02.12.2007  
 




Manfred
Barei
Salut,

quoi hab je pas déjà alles probiert, mais dass pas.

merci, maintenant funzt es.

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  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

3.720 Views

Untitledvor 0 min.
Walter14.10.2018
iF15.09.2014
Ernst03.06.2013
ThPeichert26.11.2012
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie