Toon posts:

[Win32] CreateMappedBitmap vraag...

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo! Ik ben nu een applicatie aan het maken met een toolbar. Nu wil ik de buttons op de toolbar een aantal bitmaps geven. Ik heb begrepen van de Win32 API reference dat dat moet met de functie 'CreateMappedBitmap'.

In de Win32 API reference staat:
code:
1
2
3
4
5
6
7
HBITMAP CreateMappedBitmap(
    HINSTANCE hInstance,    
    int idBitmap,   
    UINT wFlags,    
    LPCOLORMAP lpColorMap,  
    int iNumMaps    
   );


Wat ik nu niet weet is welke waarde ik voor de idBitmap variabele moet doorgeven. De bitmaps zijn opgeslagen in een bitmap met de resource naam 'BUTTONBITMAPS', maar dit is een string, geen integer waarde...

Kan iemand me helpen wat ik nu moet doen om de bitmaps op de buttons te krijgen ???

Bij voorbaat hardstikke bedankt!!!

Ik heb de volgende code gebruikt:
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure CreateToolBar;
var Buttons: array [0..1] of TTBBUTTON;
begin
 Buttons [0].iBitmap := 0;
 Buttons [0].idCommand := 0;
 Buttons [0].fsState := TBSTATE_ENABLED;
 Buttons [0].fsStyle := TBSTYLE_BUTTON;
 Buttons [0].iString := 0;
 
 Buttons [1].iBitmap := 0;
 Buttons [1].idCommand := 1;
 Buttons [1].fsState := TBSTATE_ENABLED;
 Buttons [1].fsStyle := TBSTYLE_BUTTON;
 Buttons [1].iString := 0;

 Hwnd := CreateToolBarEx (HwndParent, WS_CHILD or WS_VISIBLE or TBSTYLE_TOOLTIPS, 1, 1, 0, 
CreateMappedBitmap (HInstance, {hier weet ik niet wat ik moet invullen, bitmap resource string is 'BUTTONBITMAPS}, 
0, 0, 0), @Buttons, 2, 39, 39, 32, 32, SizeOf (TTBBUTTON));
end;

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-08 21:31
Je hebt toch altijd een resource identifier ? Check je resource.h eens ( Of hoe dat ding ook heet in Delphi )

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
Ik heb de oplossing gevonden... in plaats van de bitmap resource 'BUTTONBITMAPS' te noemen heb ik een getal als naam genomen.

code:
1
2
3
4
5
//Resource bestand:
1 BITMAP buttonbitmaps.bmp

//Voor de idBitmap variabele van de CreateMappedBitmap functie in het programma betekent dit:
idBitmap := 1;

  • killermar
  • Registratie: Augustus 2002
  • Laatst online: 12-07 08:05
Waarom gebruik je niet de TToolbar uit de VCL?

Verwijderd

Ja of Toolbar2000 van Jordan Rusell :)

Verwijderd

Topicstarter
Omdat het programma geheel geschreven is in Win32 API m.b.v. het Controller-object model. Dan is het gebruik van de Delphi standaard componenten niet mogelijk.

Verwijderd

Waarom gebruik je dan Delphi :)

  • killermar
  • Registratie: Augustus 2002
  • Laatst online: 12-07 08:05
Kan me niet voorstellen dat jouw controller-object model de VCL buitenspel zet. Hoe dan?
Pagina: 1