AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Klicki-Bunti Programmierung bei altem Windows Style
Thema durchsuchen
Ansicht
Themen-Optionen

Klicki-Bunti Programmierung bei altem Windows Style

Ein Thema von seim · begonnen am 12. Jun 2009 · letzter Beitrag vom 12. Jun 2009
Antwort Antwort
Benutzerbild von seim
seim

Registriert seit: 11. Nov 2007
83 Beiträge
 
#1

Klicki-Bunti Programmierung bei altem Windows Style

  Alt 12. Jun 2009, 16:31
Hi,

hab' grad ein kleines Problem..

Schaut euch mal bitte die beiden Dateien an (wenn ihr einen neuen Windows Style != alter Grauer Style an habt). Genau wenn man den alten Style an hat sind Sachen wie TPanels nämlich nicht mehr so cool Transparent und es sieht einfach sch.. aus.
Also ich bräuchte quasi eine Möglichkeit trotz altem Style gewährleisten zu können, dass es nicht so aussieht wie es aussieht..

Mir würde schon sowas reichen wie:

Delphi-Quellcode:
if AlterStyle = true then
 Hintergrundgrafik := false;
lg
Seim
Angehängte Dateien
Dateityp: zip build_834.zip (1,55 MB, 27x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.800 Beiträge
 
Delphi 12 Athens
 
#2

Re: Klicki-Bunti Programmierung bei altem Windows Style

  Alt 12. Jun 2009, 16:40
http://lmgtfy.com/?q=delphi+xp+theme

Das zweite Ergebnis (das mit dem weiteren möglichen Stichwort "active" bietet dann die komplette Lösung.

Sherlock
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von Mikescher
Mikescher

Registriert seit: 3. Jun 2008
Ort: Offenburg
265 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Klicki-Bunti Programmierung bei altem Windows Style

  Alt 12. Jun 2009, 17:35
Zitat von Sherlock:
http://lmgtfy.com/?q=delphi+xp+theme
http://www.gindf.de/
Mike
Operation gelungen, Patient tot.

http://www.mikescher.com
  Mit Zitat antworten Zitat
Benutzerbild von seim
seim

Registriert seit: 11. Nov 2007
83 Beiträge
 
#4

Re: Klicki-Bunti Programmierung bei altem Windows Style

  Alt 12. Jun 2009, 18:04
Delphi-Quellcode:
function _IsThemeActive: Boolean;
// Returns True if the user uses XP style
const
  themelib = 'uxtheme.dll';
type
  TIsThemeActive = function: BOOL; stdcall;
var
  IsThemeActive: TIsThemeActive;
  huxtheme: HINST;
begin
  Result := False;
  // Check if XP or later Version
  if (Win32Platform = VER_PLATFORM_WIN32_NT) and
     (((Win32MajorVersion = 5) and (Win32MinorVersion >= 1)) or
      (Win32MajorVersion > 5)) then
  begin
    huxtheme := LoadLibrary(themelib);
    if huxtheme <> 0 then
    begin
      try
        IsThemeActive := GetProcAddress(huxtheme, 'IsThemeActive');
        Result := IsThemeActive;
      finally
       if huxtheme > 0 then
          FreeLibrary(huxtheme);
      end;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if _IsThemeActive then
   ShowMessage('Windows XP Themes are activated.');
end;
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#5

Re: Klicki-Bunti Programmierung bei altem Windows Style

  Alt 12. Jun 2009, 21:24
Für Delphi 7 und aufwärts:
Delphi-Quellcode:
uses ..., Themes;

...
...

procedure TForm1.Button1Click(Sender: TObject);
begin
  if ThemeServices.ThemesAvailable then
    ShowMessage('Themes verfügbar');

  if ThemeServices.ThemesEnabled then
    ShowMessage('Ein Theme ist derzeit aktiviert');
end;
  Mit Zitat antworten Zitat
Benutzerbild von seim
seim

Registriert seit: 11. Nov 2007
83 Beiträge
 
#6

Re: Klicki-Bunti Programmierung bei altem Windows Style

  Alt 12. Jun 2009, 21:30
Danke!

Sag mal die Transparenz für so Dinge wie TLabel und TPanel gehen aber wirklich >gar< nicht wenn gerade keines der modernen Themes aktiviert ist? Oder gibt es noch irgendein Trick dagegen?
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#7

Re: Klicki-Bunti Programmierung bei altem Windows Style

  Alt 12. Jun 2009, 21:57
Zitat von seim:
Sag mal die Transparenz für so Dinge wie TLabel und TPanel gehen aber wirklich >gar< nicht wenn gerade keines der modernen Themes aktiviert ist? Oder gibt es noch irgendein Trick dagegen?
TLabel hat die Eigenschaft Transparent die unabhängig vom Windows-Theme funktioniert. Wie man ein TPanel transparent macht kannst du mit der Forensuche herausfinden, oder falls du die Jedi VCL installiert hast, das TJvPanel verwenden welches ebenfalls eine Transparent-Eigenschaft hat.
  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 11:05 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