Toon posts:

[VB]Veranderen Scrollbar kleuren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ten eerste : ik heb me rot gezoch op GoT en op diverse Dev Secties op internet maar niks gevonden

Nu zit ik hier met Visual Basic 6 Proffesion Edition thuis,

Nu wil ik van de volgende Control's die al in VB zitten ingebakken de scrollbar kleur veranderen: listbox, treeview etc etc..

is dit met simpele code te veranderen, ook als met XP een theme is gebruikt dat de settings van de scrolbar hiervan worden overschreven?

En zijn er nog meer grappige dingen met scrollbar's achtergrond kleuren en backgrounds te realiseren, ik kan dit echt neit vinden en zou het graag willen implementeren.

Verwijderd

ben neit helemaal zeker. . maar volgens mij 'hangen' die dingen vast aan je systeem settings. .. oftewel . . een scrollbar kun je niet individueel kleuren . .maar wel alles in 1 kleur !

Verwijderd

Topicstarter
Ik ben der zeker van dat het met API kan, achtergrond kleuren en bv een background picure weet ik nu bij bv een treeview en textbox, maar de scrollbar kleuren moeten denk ik ook aan te passen zijn bij IE kan je het toch ook doen door een CS sheet, dus API moet de trick denk doen bij VB application Scrollbars.. Alleen wie weet het

  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 11:59

johnwoo

3S-GTE

IE gebruikt z'n eigen scrollbars...
Ik denk dat -- als het al mogelijk is -- je richting de Windows API moet zoeken. Misschien kan het mbv subclassing? (moet je eerst de hWnd van de listbox/treeview zien te bepalen, en dan nog die van de scrollbar in dat control... vrij lastig dus)

Er was geloof ik wel een manier om de scrollbars in een app te vervangen door de 'flat' scrollbar uit de nieuwere commoncontrols DLL. Maar voor zover ik weet kun je die ook niet individueel kleuren...

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


Verwijderd

Deze kleuren worden idd (zie post Skizmo) bepaald door de windows desktop settings. Je kunt ze dmv een api call aanpassen (ik heb 't nooit onder XP geprobeerd...)

--------------api declaraties:

Option Explicit

Private Declare Function GetSysColor Lib "user32.dll" (ByVal nindex As Long) As Long
Private Declare Function SetSysColors Lib "user32.dll" (ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long

Public Enum WindowsItem
COLOR_ACTIVEBORDER = 10
COLOR_ACTIVECAPTION = 2
COLOR_APPWORKSPACE = 12
COLOR_BACKGROUND = 1
COLOR_BTNFACE = 15
COLOR_BTNHIGHLIGHT = 20
COLOR_BTNSHADOW = 16
COLOR_BTNTEXT = 18
COLOR_CAPTIONTEXT = 9
COLOR_GRAYTEXT = 17
COLOR_HIGHLIGHT = 13
COLOR_HIGHLIGHTTEXT = 14
COLOR_INACTIVEBORDER = 11
COLOR_INACTIVECAPTION = 3
COLOR_INACTIVECAPTIONTEXT = 19
COLOR_MENU = 4
COLOR_MENUTEXT = 7
COLOR_SCROLLBAR = 0
COLOR_WINDOW = 5
COLOR_WINDOWFRAME = 6
COLOR_WINDOWTEXT = 8
End Enum

----------------------------- functies

Public Function GetWindowsColor(Item As WindowsItem) As OLE_COLOR
GetWindowsColor = GetSysColor(Item)
End Function

Public Sub SetWindowsColor(Item As WindowsItem, Color As OLE_COLOR)
SetSysColors 1, Item, Color
End Sub


<edit>
Net ff opgezocht waar ik dit ooit vandaan had:
http://www.andreavb.com/tip090003.html
</edit>

Verwijderd

Topicstarter
Wat johnwoo al zei is he volgens mij via subclass mogenlijk.. nog ff bij google newsgroep gezocht naar scrollbar color voor indivuele controls gezocht.. vond wat vragen over hoe met een richedit control de scrollbar kleuren te veranderen alleen de links naar de antwoorden wanen allemaal dood. dus het is idd mogenlijk voor Richedit en dan ook andere control's want het werkt met hwnd en interne classes allemaal hetzelfde.

De oplossing van i_m_eddy is ook leuk bedacht alleen wil ik alleen in me applicatie die kleuren veranderen, niet in windows zelf. Dus totaal overschrijven en mishcien in toekomst met setbtl ofzo de hele scrollbar vervangen. Ik ga verder op zoek. Suggesties kun je altijd posten natuurlijk, we komen er samen wel uit :)

Verwijderd

Topicstarter
*schopje*

  • sjolmers
  • Registratie: September 2000
  • Laatst online: 04-02 09:18

sjolmers

het leven is té kort, geniet!

Kun je niet iets maken zoals bij een Webpagina? een .css file (stylesheet)
met zoiets:

<style type="text/css">
BODY {
scrollbar-face-color: #000066;
scrollbar-shadow-color: #3333cc;
scrollbar-highlight-color: #3300ff;
scrollbar-3dlight-color: #cccccc;
scrollbar-darkshadow-color: black;
scrollbar-track-color: #000000;
scrollbar-arrow-color: #cc0000
}
TD, DIV {
font : bold xx-small "MS Sans Serif", sans-serif;
color : White;
}
TD.uptable {
font : bold 16px "Times New Roman", serif;
}
#nobold {font-weight : normal}
#ancolor {color : Red}
A.white {Color : White;}
.good {
color : White;
font : bold 13px Arial, sans-serif;
text-decoration : underline;
}
.another {
color : #D2D2FF;
font : bold 18px "Times New Roman", serif;
}
.red {
color : Red;
}
HR {
color : #000091;
}
</style>

Ik heb geen kennis van VB6, weet dus niet of het kan....

[ Voor 0% gewijzigd door sjolmers op 16-10-2002 14:35 . Reden: typo ]

adr opleidingen en meer adr opleidingen

Pagina: 1