Aktuelle Zeit: 17.07.2019 17:25

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: (WinAPI) PB-Gadgets ansteuern
BeitragVerfasst: 29.08.2004 05:59 
Offline
-= Anfänger =-
Benutzeravatar

Registriert: 29.08.2004 03:07
[ Original FAQ-Beitrag von Rob ]

Mit der [c]SendMessage_()[/c]-Funktion lassen sich Nachrichten an Gadgets schicken, die entweder etwas an ihm verändern oder einen Zustand (Größe, Status, ...) zurückliefern.

Beispiel: Größe der Toolbar ans Fenster anpassen.

1. Schritt: Gadget-Handle ermitteln:
Code:
toolbarhandle = CreateToolBar(0,0)


2. Schritt
Auf die MSDN-Seite der Windows-Controls gehen, ToolBar und ToolBar Overview auswählen, ein bisschen lesen und TB_AUTOSIZE entdecken.

3. Schritt
Code:
lResult = SendMessage(
    // returns LRESULT in lResult
   (HWND) hWndControl,
    // handle to destination control
   (UINT) TB_AUTOSIZE,
    // message ID
   (WPARAM) wParam,
    // = 0; not used, must be zero
   (LPARAM) lParam
    // = 0; not used, must be zero
);

ansehen und daraus
Code:
SendMessage_(toolbarhandle,#TB_AUTOSIZE,0,0)

machen.

4. Schritt:
Das ganze in die Window-Resize-Callback-Prozedur einfügen:
Code:
Global toolbarhandle

Procedure WindowResize(WindowID, Message, wParam, lParam)
  Result = #PB_ProcessPureBasicEvents
  Select Message
    Case #WM_SIZE
      SendMessage_(toolbarhandle,#TB_AUTOSIZE,0,0)
  EndSelect
  ProcedureReturn Result
EndProcedure


If OpenWindow(0,0,0,300,100,#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_ScreenCentered,"ToolBar-Resize")
  SetWindowCallback(@WindowResize())
 
  If CreateMenu(0,WindowID())
    MenuTitle("Bip")
    MenuItem(0,"Bop")
  EndIf
 
  toolbarhandle = CreateToolBar(0,WindowID())
  If toolbarhandle
    ToolBarStandardButton(1,#PB_ToolBarIcon_New)
    ToolBarStandardButton(2,#PB_ToolBarIcon_Open)
    ToolBarStandardButton(3,#PB_ToolBarIcon_Save)
    ToolBarSeparator()
    ToolBarStandardButton(4,#PB_ToolBarIcon_Replace)
    ToolBarStandardButton(5,#PB_ToolBarIcon_Delete)
  EndIf
   
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf


Nun ändert sich die ToolBar-Begrenzungslinie zum Menü ^_^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 05.03.2005 17:09 
Offline

Registriert: 09.12.2004 22:09
Dazu fällt mir noch eine Frage ein. Wie ermittle ich das Handle des einzelnen Buttons der Toolbar ? Ich möchte ein Button "gedrückt" und normal - also "nicht gedrückt" darstellen. Hast Du da eine Idee ?


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye