Deutsch
Forum

Gridbox Spalte Farbe

 

Ernst
Hallo,
Cls
Var Dlg&     = Create("Dialog", %Hwnd, "", 300, 200, 400, 200)
Var hGrid&   = Create("GridBox", Dlg&,"Links;2;180;Mitte;2;100;Rechts;2;80", 2, 0, 0, 400, 190)

While 1

    WaitInput

EndWhile

End
so wie ich mit der message " sendmessage(hGrid&,$1001,0,RGB(180,180,180)) " den kompletten Hintergrund einfärben kann, gibt es da irgendeine message oder andere Möglichkeit nur eine Spalte (z.B. die Spalte "Mitte") einzufärben - eben noch bevor die Gridbox befüllt wird (also nicht Texthintergrundfarbe) ?
Gruß Ernst
 
25.07.2016  
 




Thomas
Freier
Vielleicht hilft das weiter:
 $H Messages.ph
 $H Windows.ph
 $H commctrl.ph
Var WindowWidth&  = 500
Var WindowHeight& = 500
set("Fastmode",1)
windowStyle $250
WINDOW 0,0-0,0
CLS ~GetSysColor(~COLOR_BTNFACE)
Declare LvDraw#
STRUCT LvDraw = HwndFrom&,idFrom&,Code&,DrawStage&,Hdc&,Rect#(16),ItemSpec&,ItemState&,ItemLparam&,Text&,Textbk&,SubItem&
Dim LvDraw#,LvDraw

Subclassproc'--------------------------------------------------------

    If subclassmessage(&swnd,~WM_NOTIFY)

        LvDraw#=&slparam

        If (LvDraw#.Hwndfrom&=Lv&)*(LvDraw#.Code&=~NM_CUSTOMDRAW)

            set("winproc",0)
            Case LvDraw#.DrawStage&=~CDDS_PREPAINT:    Return ~CDRF_NOTIFYITEMDRAW
            Case LvDraw#.DrawStage&=~CDDS_ITEMPREPAINT:return ~CDRF_NOTIFYSUBITEMDRAW

            If LvDraw#.DrawStage&=~CDDS_SUBITEM | ~CDDS_ITEMPREPAINT

                Case LvDraw#.SubItem&=0:LvDraw#.Textbk&=rgb(0,0,128)
                Case LvDraw#.SubItem&=1:LvDraw#.Textbk&=rgb(128,128,0)
                Case LvDraw#.SubItem&=2:LvDraw#.Textbk&=rgb(128,0,0)
                Case LvDraw#.SubItem&=0:LvDraw#.Text&=rgb(255,255,0)
                Case LvDraw#.SubItem&=1:LvDraw#.Text&=rgb(0,255,0)
                Case LvDraw#.SubItem&=2:LvDraw#.Text&=rgb(255,255,0)

            EndIf

        EndIf

    EndIf

EndProc'-------------------------------------------------------------

Var Lv&=create("gridbox",%hwnd,"Spalte 0;0;100;Spalte 1;0;100;Spalte 2;0;100",0,20,20,400,300)

whileloop 0,50

    addstring(lv&,"Test|Test|Test")

EndWhile

subclass %hwnd,1
SetStyle %hwnd,0,$14CF2000
~SetClassLong(%hwnd,~GCL_STYLE,(~GetClassLong(%hwnd,~GCL_STYLE)- ~CS_HREDRAW - ~CS_VREDRAW))
~Movewindow(%hwnd,Int(%maxx/2-WindowWidth&/2),Int(%maxy/2-WindowHeight&/2),WindowWidth&,WindowHeight&,1)

While 1

    Waitinput

    If %key = 2

        End

    EndIf

EndWhile

set("Fastmode",0)
 
Gruß Thomas
Windows XP SP2, XProfan X2
25.07.2016  
 




Jörg
Sellmeyer
Soweit ich weiß, ist es nicht möglich, eine Spalte einzufärben, wenn noch gar keine Einträge in der Listbox sind. Du kannst aber Leerstrings vorfüllen. Dann sind die Farben sichtbar.
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
25.07.2016  
 




Ernst
@ Thomas - leider nein; dieses Beispiel kannte ich schon - funktioniert eben auf Basis Einträge / Texthintergrundfarbe, was ich ja nicht möchte; daher (@Jörg) helfen auch Leerstrings nicht, weil die Zeilen dann markierbar sind, bevor was richtig drinsteht.
Ich hatte mir mit Bitmaps was zusammengeschustert und dachte ich kann's einfacher haben - so kann man sich täuschen
Jedenfalls Danke!
Grüße Ernst
 
25.07.2016  
 




Thomas
Freier
@ Ernst, so ist es nun mal bei einem LV oder einer Office Tabelle.
Du könntest aber eine gewählte leere Zeile, wenn's dann nicht sein soll, sofort demarkern und die letzte Zeile mit Inhalt markieren.
 
Gruß Thomas
Windows XP SP2, XProfan X2
25.07.2016  
 




Jörg
Sellmeyer
Auch alt aber grad hab ich ne idee dazu:

Mit ~LockWindowUpdate(hdl&) ($H windows.ph) kannst du das Fenster sperren und es wieder entsperren, sobald Einträge drin sind. Allerdings musst du dann die ersten Eintrage mit SetText befüllen, weil sonst deine Spaltenfarben wieder verschwinden.
~LockWindowUpdate(0) entsperrt wieder. Man kann immer nur ein Element sperren.
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.05.2018  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

8.001 Betrachtungen

Unbenanntvor 0 min.
Walter04.05.2024
Rainer Hoefs09.05.2023
Sven Bader14.03.2023
Peter Max Müller29.01.2023
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie