Italia
Fonte/ Codesnippets

Api Combobox Icons Per

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
ComboBox 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&)
    href='./../../function-references/xprofan/dispose/'>Dispose INITC#
 
15.07.2007  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.409 Views

Untitledvor 0 min.
Peter Max Müller01.11.2019
Georg Teles30.10.2019
ByteAttack22.11.2015
Julian Schmidt28.07.2011
Di più...

Themeninformationen

Dieses Thema hat 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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