Toolbar "Highlight-Effekt" deaktivieren
Toolbar "Highlight-Effekt" deaktivieren
Hallo,
wie kann man den "Highlight-Effekt" bei einer toolbar deaktivieren(Also so wie es bei jaPBe ist)?
wie kann man den "Highlight-Effekt" bei einer toolbar deaktivieren(Also so wie es bei jaPBe ist)?
Ich denke das das bei Jabe keine 'echte' Toolbar ist sondern aus Buttons zusammengestoppelt.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster
PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
möglich, eine 'unechte' Toolbar zu bauen? Falls ja: jaPBe liegt ja auch imX0r hat geschrieben:Ja, wahrscheinlich, aber ist das trotzdem irgendwie möglich?
Source-Code vor [1]. Dort kannst Du Dir anschauen, wie GPI / gnozal das
gemacht haben.
[1]: http://freenet-homepage.de/gnozal/jaPBeForPB400.7z
Grüße ... Kiffi
a²+b²=mc²
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
nee, das war doch nicht seine basis-frage...
wenn es ein style-flag dafür gibt, dann wird man das mit ner message setzen/löschen können.
ich würde zielgerichtet in die Beschreibung des Fensterelements "Toolbar" auf der MSDN schauen.
wenn es ein style-flag dafür gibt, dann wird man das mit ner message setzen/löschen können.
ich würde zielgerichtet in die Beschreibung des Fensterelements "Toolbar" auf der MSDN schauen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Code: Alles auswählen
#TBN_HOTITEMCHANGE = #TBN_FIRST - 13
OpenWindow(0,0,0,320,240,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateToolBar(0,WindowID(0))
For i=0 To 10 : ToolBarStandardButton(i,i) : Next
Procedure WindowCallback(hWnd,uMsg,wParam,lParam)
Select uMsg
Case #WM_NOTIFY
*nmh.NMHDR = lParam
Select *nmh\hwndFrom
Case ToolBarID(0)
Select *nmh\code
Case #TBN_HOTITEMCHANGE
ProcedureReturn 1
EndSelect
EndSelect
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
SetWindowCallback(@WindowCallback())
While WaitWindowEvent() ! #PB_Event_CloseWindow : WendWindows 10 Pro, 64-Bit / Outtakes | Derek
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Hier ist eine Lösung die aber nicht ganz perfekt ist. Man sieht nicht das der Button gedrückt wurde. Also das X/Y-Offset plus 1 Pixel nach unten/rechts.
Code: Alles auswählen
#TBN_HOTITEMCHANGE = #TBN_FIRST - 13
#TBSTATE_MARKED = $80
OpenWindow(0,0,0,320,240,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateToolBar(0,WindowID(0))
SetWindowLong_(ToolBarID(0),#GWL_STYLE,#WS_CHILD | #WS_VISIBLE | #CCS_TOP | #TBSTYLE_CUSTOMERASE)
For i=0 To 10 : ToolBarStandardButton(100 + i,i) : Next
Procedure WindowCallback(hWnd,uMsg,wParam,lParam)
Select uMsg
Case #WM_NOTIFY
*nmh.NMHDR = lParam
If *nmh\hwndFrom = ToolBarID(0)
Select *nmh\code
Case #NM_CUSTOMDRAW
*nmtbc.NMTBCUSTOMDRAW = lParam
If *nmtbc\nmcd\dwDrawStage = #CDDS_ITEMPREPAINT
SendMessage_(ToolBarID(0),#TB_SETSTATE,*nmtbc\nmcd\dwItemSpec,#TBSTATE_ENABLED)
ProcedureReturn #CDRF_DODEFAULT
EndIf
ProcedureReturn #CDRF_NOTIFYITEMDRAW
Case #TBN_HOTITEMCHANGE
ProcedureReturn #True
EndSelect
EndIf
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
SetWindowCallback(@WindowCallback())
While WaitWindowEvent() ! #PB_Event_CloseWindow : Wend
Zuletzt geändert von Fluid Byte am 10.10.2008 02:18, insgesamt 1-mal geändert.
Windows 10 Pro, 64-Bit / Outtakes | Derek
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Hab' ich von Anfang an gedacht aber es kommt drauf an welche Funktionalitäten der Toolbar er nutzt. Es gibt viele Features die eine Standardlösung nicht bietet wie Buttonlabels, Gruppierung, Dropdownmenu oder Button-Wrapping. Ansonsten geb' ich dir recht das man andernfalls lieber Images benutzen sollte.Kaeru Gaman hat geschrieben:jetzt wunder ich mich aber doch...
wenn du ein toolbar willst, bei dem man nicht sieht, wenn die maus drüber ist und wenn was gedrückt wird...
warum nimmst du dann nicht gleich ein image und wertest den click drauf aus?
Windows 10 Pro, 64-Bit / Outtakes | Derek
