Aktuelle Zeit: 19.10.2017 18:08

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: background color
BeitragVerfasst: 12.05.2017 16:23 
Offline
Benutzeravatar

Registriert: 19.03.2015 18:16
Wohnort: Altenstadt
HI,

als generelles API-Greenhorn habt ihr mir schon bei der Findung des Systemhintergrunds bei WIN geholfen. PB liefert das ja nicht mit eigenen Befehlen.
hgr = getsyscolor_(#colorbtnface)

Wie geht das auf McOSX?

Ich benutzt den Hintergrund zum "Löschen" von canvasgadgets, die auf Fenstern oder auf(?)/in(?) frames liegen.

_________________
Gruß
Manne
http://zes.kart-mal-anders.de
PB5.6 WIN XP,W7,W8 & Mac Yosemite


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: background color
BeitragVerfasst: 12.05.2017 16:49 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Hier gibt es einen Code für Windows, Linux und MacOS, um die Fenster-Hintergrundfarbe zu ermitteln: http://www.purebasic.fr/english/viewtopic.php?t=66974

_________________
BildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: background color
BeitragVerfasst: 12.05.2017 18:01 
Offline
Benutzeravatar

Registriert: 25.01.2005 12:19
Um die Hintergrundfarbe eines Fensters oder eines Gadgets zu ermitteln, benötigt man keine systemspezifischen API-Funktionen, wenn man die Farbe selbst gesetzt hat, denn dies geht dann mit reinen PureBasic-Befehlen plattform-unabhängig:

Ermittlung der Hintergrundfarbe eines Fensters:
Code:
OpenWindow(0, 100, 100, 250, 210, "Get background color")

SetWindowColor(0, $CDEBFF) ; X11-Farbe "Blanched almond"
MessageRequester("Info", "Hintergrundfarbe: $" + Hex(GetWindowColor(0)))

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow

Ermittlung der Hintergrundfarbe eines TextGadget:
Code:
OpenWindow(0, 100, 100, 250, 210, "Get background color")

TextGadget(0, 10,  10, 230, 90, "", #PB_Text_Border)
SetGadgetColor(0, #PB_Gadget_BackColor, $CDEBFF) ; X11-Farbe "Blanched almond"
SetGadgetText(0, "$" + Hex(GetGadgetColor(0, #PB_Gadget_BackColor)))

TextGadget(1, 10, 110, 230, 90, "", #PB_Text_Border)
SetGadgetColor(1, #PB_Gadget_BackColor, $C1FFC1) ; X11-Farbe "DarkSeaGreen1"
SetGadgetText(1, "$" + Hex(GetGadgetColor(1, #PB_Gadget_BackColor)))

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow

Die Ermittlung der Hintergrundfarbe eines CanvasGadget funktioniert allerdings nicht mit GetGadgetColor(), weil das CanvasGadget ja eine Zeichenfläche ist und der Programmierer selbst für das Zeichnen zuständig ist. Dies erfolgt mit der 2DDrawing-Bibliothek innerhalb eines StartDrawing()/StopDrawing()-Blocks.

Bei unbekannter Hintergrundfarbe arbeitet MacOS mit systemspezifischen Namen. Dieser Thread im englischen Forum zeigt dazu diverse Lösungsmöglichkeiten.

Ein plattform-unabhängiges Beispiel, den Hintergrund eines CanvasGadget mit der Hintergrundfarbe des aktuellen Fensters zu zeichnen, zeigt Keya in dem von RSBasic angegebenen Link.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye