| |
|
|
Lefty | X-Profan 11.2 Habe da mal eine Frage zur Coisebox folgender Aufbau Child&=Create("ChildWindow",%HWnd,"History",0,50,700,400) Childbox&=Create("ChoiceBox",Child&, 0, 0, 0, 690, 400)
Die Box wird jetzt mit AddString(Childbox&,File_Name_Temp$) gefüllt. Ist es possibile den einzelnen Einträgen eine Farbe zuzuordnen? Textcolor wirkt ja leider nur bei Drawtext
Wer weiss densowas? Lefty |
|
|
| |
|
|
|
Lefty | Ich bitte die einzelnen Rechtschreibfehler zu ignorieren (kommt immer wieder mal vor) Schade, offensichtlich besteht an diesem Problem kein Interesse.
Also werde ich meinen farbigen Objekten jeweils eine Nummer zuweisen, und in der Auswahlbox dazu schreiben. Etwas umständlich, aber zur Not ...
trotzdem Danke an das Foro
Lefty |
|
|
| |
|
|
|
E.T. | Also ich kann dazu einfach nix finden.
Hab sowas mal bei ner Gridbox gemacht, muss ich mal suchen ...
Gits denn sowas schon mal irgendwo bei einer Auswahlbox (Screenshot) ?? |
|
|
| XProfan X3Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 31.10.2019 ▲ |
|
|
|
|
Georg Teles | Nunja, ChoiceBox (genauer gesagt ComboBox) ist etwas schwierig zu färben / selbst Ausrichten: rechtsbündig / mittig ist eine Herausforderung (in CSS/HTML ist es dagegen einfach) - selbst in der DLL von Sebastian (SKControl.dll) ist es folgendermaßen realisiert: ( DLL hier von Sebastian hochgeladen [...] )
Da ist die ListBox oder GridBox einfacher zu färben:
window 10,10-200,200
$H Messages.ph
$H Windows.ph
$H Commctrl.ph
proc HdlgLvColorProc'----------------------------HdlgLvColorProc-------------------------
parameters wnd&,msg&,wparam&,lparam&
case msg&<>~WM_NOTIFY:return ~CallWindowProc(HdlgProc&,wnd&,msg&,wparam&,lparam&)
LvDraw#=Lparam&
case LvDraw#.Hwndfrom& <> Lv&:return ~DefWindowProc(wnd&,msg&,wparam&,lparam&)
case LvDraw#.Code&<>~NM_CUSTOMDRAW:return ~DefWindowProc(wnd&,msg&,wparam&,lparam&)
case LvDraw#.DrawStage& = ~CDDS_PREPAINT :return ~CDRF_NOTIFYITEMDRAW
case LvDraw#.DrawStage& = ~CDDS_ITEMPREPAINT:return ~CDRF_NOTIFYSUBITEMDRAW
if LvDraw#.DrawStage& = ~CDDS_SUBITEM | ~CDDS_ITEMPREPAINT
LvDraw#.Textbk&=rgb(25,255,255)
endif
return ~CDRF_DODEFAULT
endproc'---------------------------------------------------------------------------------
var Lv&=create("gridbox",%hwnd,"Test",0,10,10,150,100)
addstring(Lv&,"Test")
declare LvDraw#
struct LvDraw= HwndFrom&,idFrom&,Code&,DrawStage&,Hdc&,Rect#(16),ItemSpec&,ItemState&,ItemLparam&,Text&,Textbk&,SubItem&
dim LvDraw#,LvDraw
Set("FastMode",1)
var HdlgProc&=~SetWindowLong(%hwnd,~GWL_WNDPROC,procaddr(HdlgLvColorProc,4) )
~RedrawWindow(Lv&,0,0,$485)
while 1
waitinput
endwhile
Grüße |
|
|
| |
|
|
|
Lefty | Die Dll von Sebastian sieht schon ganz nett aus, bringt mich aber nicht wirklich weiter. Es geht nicht darum den Text insgesamt zu färben. Die Problematik ist folgende. Ich habe ein Programm zur Analyse von Ballläufen geschrieben; per die Sportart Bowling. Nun kann ich jeden einzelnen Wurf darstellen, und gebe jeder dieser Laufbahnen eine eigene Farbe. Den Namen der entsprechenden Linie trage ich anschließend in die Box ein, so das in der Box z.B. 10 Linien stehen. Problem: wenn ich jetzt z.B. den Namen der roten Linie wissen will wäre es naturalmente toll wenn der Name in der Box mit der gleichen Farbe wie die Linie dargestellt wird. Momentan beschränke ich mich auf 10 Farben, und numeriere diese durch. In die Box schreibe ich vor den LinienName erst die entsprechende Zahl per die Farbe. Damit kann ich naturalmente sofort die Namen und Linien identifizieren. Ist nur von der Technik her "Durch die Brust ins Auge schießen" Ihr wisst was ich meine: Funktionieren und gut programmiert sind 2 Sachen. |
|
|
| |
|
|
|
p.specht
| Gibt´s nicht irgendwo eine Vektorschrift, um die Bezeichner notfalls selber hinzumalen? Ich weiss, nicht sehr elegant ... |
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 06.11.2019 ▲ |
|
|
|
|
Thomas Freier | In diesem Fall würde ich es mit einem Button zum ein- / ausblenden einer Listview (Franks dll) ohne Testata
und Text färben mit
realisieren.
Es müßte auch mit der hier zufindenen plv.pcu machbar sein.
Saluto Thomas |
|
|
| |
|
|