| |
|
|
- Página 1 - |
|
ecki | ¡Hola Profaner,
mich sería veces interés, si ya alguien intenta ha bajo XProfan una Programa con el allgegenwärtigen Dark Mode a redactar. Yo habe lo intenta, aber sólo el 1. Ventana (%hWnd) ha funktioniert. Weitere Ventana como Dialogwindow, Childwindow oder Grid wären nun todavía gewünscht. Aber como podría el trabajo?
Saludo oberstleutnant |
|
|
| |
|
|
|
« Dieser Contribución wurde como Solución gekennzeichnet. » |
|
Sven Bader | ¡Hola Ecki,
Dark Mode es una muy individuelle Sache y no Invertierung de Farben. Lo son sicher Standards para Software, welche con Microsoft Entwicklungswerkzeugen erstellt wurde aber en el Praxis hacer zumindest el Großen todos ihr propio Ding (Chrome, Firefox, Photoshop), qué auch a el jeweils otro Farben erkennt. Word o. Office ha lo sólo con el neusten Versión geschafft, una Darkmode umzusetzen, como gab lo el ya algunos Jahre en Windows 10.
Für una optimale Lesbarkeit se auch niemals reines schwarz para el Hintergrund y selten reines weiß para el Texto verwendet.
Bisher Yo desafortunadamente auch todavía no Solución, welche una Dark Theme para mich zufriedenstellend umsetzt außer ansatzweise en el XProfed. |
|
|
| |
|
|
|
|
Sven Bader | ¡Hola,
bisher Yo algo como siempre pro Element umgsetzt, qué veces mejor y veces schlechter funktioniert. Das Ventana incluso sería mis intereses, como Si es usted el gemacht hast! ¿Puede du el código hier puesto?
Hier Yo bajo anderem una Treeview en Darkmode umgesetzt: [...]
Sorry, dass du ahora mehr Gegenfragen como Respuesta obtener hast.
Grüße Sven |
|
|
| |
|
|
|
ecki | ¡Hola Sven,
Como hast Usted mich wohl falso verstanden. Yo habe sólo el %hWnd por Cls RGB(0,0,0) dunkel gemacht. Alle Ventana, el en %hWnd erscheinen, möchte Yo auch inn dark hin bekommen. Aber Yo weiß no, como!
Saludo ecki |
|
|
| |
|
|
|
Sven Bader | Achso... así es entonces en el Dialogfenster:
Lo wischt se desafortunadamente en una Dialogfenster otra vez weg, por qué al Neuzeichnen abfangen muss. Frank Abbing hatte como veces a la Code, de los por SubClass übernimmt: [...]
Hier una vez más algo vereinfacht:
$H windows.ph
$H messages.ph
Declarar dc&, ps#,d1&
Dim ps#,128
cls RGB(40,40,40)
Proc NeuZeichnen
Parámetros thedc&
StartPaint thedc&
cls RGB(40,40,40)
EndPaint
ENDPROC
SubClassProc
If %smessage = ~WM_PAINT
dc& = ~BeginPaint(&sWnd, ps#)
NeuZeichnen(dc&)
~EndPaint(&sWnd, ps#)
Conjunto("WinProc", 0)
Endif
ENDPROC
d1& = Crear("Dialog",%hwnd,"Dialog",200,200,400,300)
NeuZeichnen(d1&)
SubClass d1&, 1
Mientras que 1
WaitInput
Case %key=2: BREAK
EndWhile
Andere, ggf. bessere Möglichkeit:
Manche Dialogelemente dejar se einfacher por SendMessage una Farbe geben, letztendlich podría uno estos como Fensterhintergrund nutzen. Man muss dieses Element sólo como "Parent" definieren.
Hier una Ejemplo, en el Yo una leeres TreeView como Hintergrund para el Dialogfenster verwende, lo funktioniert eigentlich muy bien y Code es überschaubar. TreeViews hören en el Message "TVM_SETBKCOLOR".
Def Setparent(2) !"USER32","SetParent"
Cls RGB(40,40,40)
declarar treeview&,dialog&,button&
dialog& = Crear("Dialog",%hwnd,"Dialog",200,200,400,300)
treeview& = Crear("TreeView", dialog&, 0, -5,-5,800,800)
button& = Crear("Button", dialog&,"OK", 150, 200,100,50)
SendMessage(treeview&,$1100+29, 0,RGB(40,40,40))'~TVM_SETBKCOLOR
SetParent(button&,treeview&)
Mientras que iskey(27) = 0
WaitInput
EndWhile
|
|
|
| |
|
|
|
ecki | Gracias Sven,
Yo voluntad mich jetztmal con Su Sugerencias beschäftigen. Werde mich zurückmelden, si yo ergebnisse vorweisen kann.
Herzlichen Saludo
ecki |
|
|
| |
|
|
|
ecki | ¡Hola Sven,
Yo veces Su Propuestas getestet, el Ergebnis ha No así gefallen.
Yo bleibe en Farbeinstellung para el %hWnd y lasse todos otro Ventana como ellos son. Mir es nichts Besseres eingefallen!!
Gracias nochmals.
Freundliche Grüße
ecki |
|
|
| |
|
|
|
Georg Teles | Como schauts porque con SKControl.dll de, como puede ser el Elemente cualquier einfärben
Schnellbeispiel
Grüße |
|
|
| |
|
|
|
Sven Bader | Sí, el funktioniert auch heute todavía. Lo kann je después de Element a abweichendem Comportamiento kommen, auch el Búsqueda después de el neusten Versión es no bastante ligeramente. Yo mi es el Build 1.22.12 [...]
Dialogfenster son hier auch no esta. Yo denke aber una Static es hier el korrekte Weg. Auch esta debería para una korrektes Comportamiento setparent() nötig ser. |
|
|
| |
|
|
|
ecki | Sven Bader (27.01.2023)
Sí, el funktioniert auch heute todavía. Lo kann je después de Element a abweichendem Comportamiento kommen, auch el Búsqueda después de el neusten Versión es no bastante ligeramente. Yo mi es el Build 1.22.12 [...]
Sven Bader (27.01.2023)
Dialogfenster son hier auch no esta. Yo denke aber una Static es hier el korrekte Weg. Auch esta debería para una korrektes Comportamiento setparent() nötig ser.
Gracias Euch Beiden,
Yo sehe me de tiempo el Thema a. Bisher hatte lo mich no interessiert.
Saludo ecki |
|
|
| |
|
|
|
ByteAttack | [...]
Aquí está buscando veces si Yo, el Ver código fuente todavía habe, entonces sende Yo Usted porque veces - Wieder uno meiner "unvollständigen" Proyectos |
|
|
| |
|
|
|
Thomas Freier | In el Art una Dialoghintergrund?
'######################
'Encabezamiento-Archivos
'######################
$H Windows.ph
$H Messages.ph
'######################
Windowstyle 543
Declarar Ende&,Ende1&,Win02&,Farbe$,Button1&
Farbe$=RGB(0,0,0)
CLS Farbe$
'Der Brush se de Windows benutzt en el Dialoghintergrund para dibujar
Var Dialogpinsel& = ~Createsolidbrush(Farbe$)
Var Button& = CREATE("BUTTON",%hwnd,"Dialog öffnen",10,10,150,25)
Título de la ventana "Test..."
Sinestar encargado Ende&
Waitinput
caso %Key=2:Ende&=1
If Clicked(Button&)
Ende1& = 0
win02&=CREATE("Dialog",%hwnd,"Dialog",(%MaxX/2-300),(%MaxY/2-250),600,500)
'una vez el Farbe geben
Startpaint win02&
cls Farbe$
Endpaint
Button1& = CREATE("BUTTON",win02&,"Dialog",10,10,150,25)
'Subclassing einschalten
SubClass win02&,1
Sinestar encargado Ende1&
WAITINPUT
If %Key = 2
Ende1& = 1
endif
Endwhile
DestroyWindow(win02&)
Setfocus(%Hwnd)
Endif
Endwhile
DeleteObject Dialogpinsel&
End
SubClassProc
If SubClassMessage(win02&,~WM_CTLCOLORDLG)
Conjunto("WinProc", 0)
'~WM_CTLCOLORDLG esperado como Rückgabewert una Brush para el Hintergrund
Volver Dialogpinsel&
EndIf
ENDPROC
|
|
|
| |
|
|
|
Georg Teles | |
|
| |
|
|