Deutsch
Quelltexte/ Codesnippets

Api Auswahlbox Icons Per

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Auswahlbox per API mit Icons
(C) 2007 Andreas Hötker
http://www.ah-shareware.de
Declaring new functions for Profan² 6.6 through windows API
Def @InitCommonControlsEx(1) !COMCTL32,InitCommonControlsEx
DEF @ImageList_Create(5) !COMCTL32,ImageList_Create
DEF @ImageList_AddIcon(2) !COMCTL32,ImageList_AddIcon
DEF @ImageList_Destroy(1) !COMCTL32,ImageList_Destroy
DEF @GetModuleHandle(1) !KERNEL32,GetModuleHandleA
DEF @LoadIcon(2) ! USER32,LoadIconA
DEF @GetProcAddress(2) !KERNEL32,GetProcAddress
Declare INITC#,ComoBoxEx&,Imagelist&,Iconname#
Declare ExecuteHandle&,Hicon&,M_Present&
Declare Proc_Name#,MHandle&,M_NAME#
Declare CBTEXT#,CBINSERT#
This peace of code is for looking, if icons can be placed in ComboBox.

If InitCommonControlsEx doesnt exist in the system-dll COMCTL32.DLL, there is displayed

    a normal combobox without icons

    Proc ComBoBoxInsertEx

        You can place other icons for selected items, but in the code it is not done (that why there are 3 icons)
        Parameters Inserttext$,CBHandle&,Icon1&,Icon2&,Icon3&
        DIM CBINSERT#,36
        DIM CBTEXT#,256
        Clear CBINSERT#
        String CBTEXT#,0=Inserttext$
        Long CBINSERT#,0=$1+$2+$4+$8
        Long CBINSERT#,4=-1
        Long CBINSERT#,8=CBTEXT#
        Long CBINSERT#,12=Icon1&
        Long CBINSERT#,16=Icon2&
        Long CBINSERT#,20=Icon3&
        @SendMessage(CBHandle&,$401,0,CBINSERT#)
        Dispose CBINSERT#
        Dispose CBTEXT#

    EndProc

    DIM INITC#,8
    long INITC#,0=8
    long INITC#,4=$4000
    Windowstyle 31+512
    Windowtitle ComboboxEx
    Window 0,0-640,440
    @InitCommonControlsEx(INITC#)
    DIM Iconname#,256
    Let Imagelist&=@ImageList_Create(16,16,$0001,3,3)create imagelist
    Let ExecuteHandle&=@GetModuleHandle(0)Handle of the Profan-exe
    String ICONNAME#,0=Weg
    Let Hicon&=@loadicon(Executehandle&,Iconname#)Get the handle of the icon weg
    @ImageList_AddIcon(Imagelist&,HIcon&)put the icon into the imagelist
    String ICONNAME#,0=Windows
    Let Hicon&=@loadicon(Executehandle&,Iconname#)Get the handle of the icon windows
    @ImageList_AddIcon(Imagelist&,HIcon&)put the icon into the imagelist
    String ICONNAME#,0=Editor
    Let Hicon&=@loadicon(Executehandle&,Iconname#)Get the handle of the icon editor
    @ImageList_AddIcon(Imagelist&,HIcon&)put the icon into the imagelist
    LET ComoBoxEx&=@Control(ComboBoxEx32,,$40000000+$10000000+$200000+$100000+2+$40,0,100,150,180,%HWND,2115,%HINSTANCE)
    @Sendmessage(ComoBoxEx&,$402,0,Imagelist&)
    dispose Iconname#
    ComBoBoxInsertEx Claudia,ComoBoxEx&,0,0,0put the item Claudia with the icon weg into the combobox
    ComBoBoxInsertEx Andreas,ComoBoxEx&,1,1,1put the item Andreas with the icon windows into the combobox
    ComBoBoxInsertEx Dennis,ComoBoxEx&,2,2,2put the item Dennis with the icon editor into the combobox

    While %Key<>2

        Waitinput
        Drawtext 0,0,@Gettext$(ComoBoxEx&)+@Space$(255)

    Wend

    @ImageList_Destroy(Imagelist&)
    Dispose INITC#
 
16.07.2007  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

3.620 Betrachtungen

Unbenanntvor 0 min.
R.Schneider23.04.2022
p.specht03.01.2019
Dieter Zornow18.11.2011

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie