[Win32] trackbar disablen*

Pagina: 1
Acties:

  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
hallo, ik wil een trackbar bij een bepaalde toestand disablen
nu stuur ik een message dat ie gedisabled wordt, dit werkt, maar normaal heeft ie een witte range door de style optie:

TBS_ENABLESELRANGE

nu wil ik dat als ie gedisabled wordt, grijs wordt, dus als het ware dat bovenstaande optie uit wordt gezet. nu weet ik dat je de trackbar kunt destroywindowen en daarna weer kunt createwindowen. nu wil ik weten of dit ook makkelijker kan door middel van een sendmessage ofzo, die die optie uitzet.

ik heb dit nog nergens anders kunnen vinden

  • MisterData
  • Registratie: September 2001
  • Laatst online: 26-08 21:52
Platform? Wat bedoel je met een trackbar? :)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

C++:
1
SetWindowLong(MyTrackBar, GWL_STYLE, GetWindowLong(MyTrackBar, GWL_STYLE) & ~TBS_ENABLESELRANGE);

Of zoiets...

Ennuh idd vermeld de volgende keer even het platform d'r bij, ondanks dat ik het wel snapte. Iets in de richting van [Win32] Trackbar disabled, de C++ is nl. totaal niet relevant hier.

Professionele website nodig?


  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
ok is er ook een goede manier om een label (static control) te disablen. het lijkt nl onmogelijk om dat ding grijs te maken zeg maar, ook na een InvalidateRect

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

GrayString() ?

[ Voor 29% gewijzigd door curry684 op 09-12-2002 13:09 . Reden: verkeerde naam... ]

Professionele website nodig?


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15:51

Janoz

Moderator Devschuur®

!litemod

Ff titel opgepoetst

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Waarschijnlijk zoek je WM_SETFONT, tenzij je een echte 'etched' disabled control wil tekenen, en dan moet je owner-drawn werken (SS_OWNERDRAW style en WM_PAINT vangen).

Professionele website nodig?


  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
het werkt toch gewoon met EnableWindow ( .. , FALSE ) ben ik achter gekomen...
bij de style had ik geen SS_LEFT.

maar wel het volgende probleem bij de trackbar
ik heb dus een combobox met 5 opties
standaard is de trackbar disabled en grijs gekleurd
als de laatste optie in de combobox is geselecteerd moet de trackbar ge-enabled worden en wit gekleurd (het selrange balkje dan).

als ik hiervoor bovenstaande code gebruik en mijn combobox uitklapmnenu komt over m'n trackbar, dan wordt de trackbar niet meer getekend voor het overlapte gedeelte, de nodig InvalidateRects weken ook niet

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Probeer eens UpdateWindow(MyProgressBarHandle) te doen ipv die InvalidateRects.

Professionele website nodig?


  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
dit lijkt ook niet echt te werken, ik zal morgen even posten, waar het exact misgaat, en wat er misgaat

  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
Effe deze topic heropend...

ik zit nog steeds eigenlijk met hetzelfde probleem, heb inmiddels al overal gezocht, maar het werkt nog steeds niet.
ik wil dus dat ik de trackbar als ie ge-enabled wordt hij wit wordt, en als hij disabled wordt weer grijs.
nu kan dit dus met de optie: TBS_ENABLESELRANGE

ik meen dus ook dat het kan met de volgende regel:
C++:
1
SetWindowLong(MyTrackBar, GWL_STYLE, GetWindowLong(MyTrackBar, GWL_STYLE) & ~TBS_ENABLESELRANGE);


maar dit werkt niet, iemand een ander idee, of stukje
Pagina: 1