AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ToolTip Farbe wird geschluckt

Ein Thema von EWeiss · begonnen am 17. Feb 2011 · letzter Beitrag vom 18. Feb 2011
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

ToolTip Farbe wird geschluckt

  Alt 17. Feb 2011, 18:41
Jemand eine Ahnung warum die Übergebenen Farben an meinem ToolTip nicht berücksichtigt werden?

Delphi-Quellcode:
    if hTooltip <> 0 then
    begin
       ToolTipData(hTooltip, 1);
       SplitColorARGB(SK_ACTIVECAPTION, Alpha, Red, Green, Blue);
       SendMessage(hTooltip, TTM_SETTIPTEXTCOLOR, RGB(Red, Green, Blue), 0);
       SplitColorARGB(SK_INACTIVECAPTION, Alpha, Red, Green, Blue);
       SendMessage(hTooltip, TTM_SETTIPBKCOLOR, RGB(Red, Green, Blue), 0);
       SendMessage(hTooltip, TTM_SETMAXTIPWIDTH, 0, 400);

       // Addiere den ToolTipText
       ti.cbSize := sizeof(TToolInfo);
       ti.hinst := skInstance;
       ti.uFlags := TTF_IDISHWND or TTF_SUBCLASS;
       ti.hWnd := hParent;
       ti.uId := hObj;
       SendMessage(hTooltip, TTM_ADDTOOL, 0, LParam(@ti));
       SetToolTipText(hObj, Text)
    end;
Kann machen was ich will die sind immer Weiss/schwarz
Sollen aber !!
Zitat:
"ACTIVECAPTION, 255,240,240,240" ' Active caption text color.
"INACTIVECAPTION, 255,193,181,92" ' Inactive caption text color.
sein.

gruss
  Mit Zitat antworten Zitat
David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#2

AW: ToolTip Farbe wird geschluckt

  Alt 17. Feb 2011, 22:30
Probier mal das hier
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: ToolTip Farbe wird geschluckt

  Alt 17. Feb 2011, 22:49
Danke aber das bringt mich nicht weiter.
Habe ja mein eigenes Control was nur nicht geht ist die Farbe.
Kann jetzt nicht sagen ob es an Windows liegt das diese nicht gehalten wird.

EDIT:
Habe es mal mit WinXp getestet dort werden die Farben richtig angezeigt von den tooltips
Kann ich nicht begreifen was da wieder nicht funktioniert in Win7

gruss

Geändert von EWeiss (17. Feb 2011 um 23:06 Uhr)
  Mit Zitat antworten Zitat
David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#4

AW: ToolTip Farbe wird geschluckt

  Alt 17. Feb 2011, 23:09
Ich hab auch das eine oder andere Problem beim Anzeigen unter Win7. Aber du kannst ja mal sehen wie die Komponente das macht.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: ToolTip Farbe wird geschluckt

  Alt 18. Feb 2011, 00:42
Ich hab auch das eine oder andere Problem beim Anzeigen unter Win7. Aber du kannst ja mal sehen wie die Komponente das macht.
Das liegt an Win7
Ich muss quasi die UpXTeme.dll einbinden also die *.pas davon
Dann mit
InitThemeLibrary;
Die Library Laden
Und Windows mitteilen das ich mit meinem Programm die Themes für den ToolTip nicht verwenden will.

SetWindowTheme(hTooltip, '',nil);
Irgendwie verstehe ich den Aufruf nicht so recht zumindest funktioniert es noch nicht.

Delphi-Quellcode:
  SetWindowTheme: function(hwnd: HWND; pszSubAppName: LPCWSTR;
    pszSubIdList: LPCWSTR): HRESULT; stdcall;
Bin mir nicht sicher ob ich den Namen meiner Anwendung mit Angeben muss.

Und ob noch irgendwelche Aufrufe fehlen.

Das einzigste was ich gefunden habe ist das hier..
http://www.autoitscript.com/forum/to...ltip-coloring/

EDIT:
Ok der Fehler war "NIL" ist ja ein String

gruss

Geändert von EWeiss (18. Feb 2011 um 01:23 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: ToolTip Farbe wird geschluckt

  Alt 18. Feb 2011, 01:22
Ok geht jetzt!

Delphi-Quellcode:
InitThemeLibrary;

var
  S_OK: HResult;
 
 ...
if hTooltip <> 0 then
begin
  S_OK := SetWindowTheme(hTooltip, '' , '');
  if S_OK = 0 then
  begin
    ToolTipData(hTooltip, 1);
    SplitColorARGB(SK_ACTIVECAPTION, Alpha, Red, Green, Blue);
    SendMessage(hTooltip, TTM_SETTIPTEXTCOLOR, RGB(Red, Green, Blue), 0);
    SplitColorARGB(SK_INACTIVECAPTION, Alpha, Red, Green, Blue);
    SendMessage(hTooltip, TTM_SETTIPBKCOLOR, RGB(Red, Green, Blue), 0);
    SendMessage(hTooltip, TTM_SETMAXTIPWIDTH, 0, 400);
  end;
end;
TTM_SETTIPTEXTCOLOR, und TTM_SETTIPBKCOLOR werden warhaftig geschluckt(nicht beachtet)
wenn die Theme für das Handle(ToolTip) nicht deaktiviert ist.

Vielleicht hilft das ja jemand der das gleiche Problem hat.

gruss
  Mit Zitat antworten Zitat
David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#7

AW: ToolTip Farbe wird geschluckt

  Alt 18. Feb 2011, 01:55
Kann es sein, das du einfach nur andere Messages senden mußt, wenn du Themes benutzt? Das hatte ich gestern bei checkboxen auch.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: ToolTip Farbe wird geschluckt

  Alt 18. Feb 2011, 02:10
Kann es sein, das du einfach nur andere Messages senden mußt, wenn du Themes benutzt? Das hatte ich gestern bei checkboxen auch.
Nö die Messagen die ich im Thread drüber verwende sind richtig.
Es ist wie ich sagte die Farben werden von den Tolltips mißachtet wenn Themes in Windows 7 aktiviert sind.
Deshalb muss ich sie NUR für die ToolTips deaktivieren und das gilt dann auch nur für mein Programm.
Systemweit sind sie dann immer noch weiss/schwarz.

Dein Beispiel was du verlinkt hast war ja eine Komponente ich schreibe aber in NONVCL.

gruss

Geändert von EWeiss (18. Feb 2011 um 06:08 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz