Seite 1 von 1

GTK+, Windows 7 Theme

Verfasst: Mi Okt 08, 2014 6:02 am
von CodeNewb
Hallo allerseits,
Ich habe hier das C-Tutorial verfolgt und bin nun am GTK+ Tut. dran, da ich auf Linux und Windows meine Programme laufen lassen will.

Und ich habe gleich mal eine Frage:
Wenn ich auf meinem PC (Windows 7) auf dem GTK+ 2.0 installiert ist, das "GTK"-Programm starte, nutzt es den Standard-Windows-Theme:
Bild

ABER wenn ich dasselbe Programm auf einen anderen "Nicht-GTK"-Rechner ausführe sieht es recht altbacken aus:
Bild

Ich habe der .exe einfach nur alle gtk.dll files beigelegt
Was muss ich beachten, wenn ich mein GTK-Programm auf Rechnern nutzen will auf den kein GTK installiert ist?

Re: GTK+, Windows 7 Theme

Verfasst: Mi Okt 08, 2014 12:16 pm
von oenone
die .rc-Datei bestimmt, wie genau es aussieht, also das Theme, die Schriftgrößen, etc... Hast du die vergessen zu kopieren?

Re: GTK+, Windows 7 Theme

Verfasst: Mi Okt 08, 2014 4:43 pm
von CodeNewb
oenone hat geschrieben:die .rc-Datei bestimmt, wie genau es aussieht, also das Theme, die Schriftgrößen, etc... Hast du die vergessen zu kopieren?
Oh hatte ich nicht , habe jetzt aus GTK\share\themes die "gtkrc" zur .exe gepackt aber hat sich nichts geändert :(

Re: GTK+, Windows 7 Theme

Verfasst: Mi Okt 08, 2014 5:50 pm
von Xin
Kannst Du Die gtkrc mal nach %HOMEPATH% legen. Eventuell muss sie auch gtkrc-2.0 heißen.

Re: GTK+, Windows 7 Theme

Verfasst: Mi Okt 08, 2014 6:26 pm
von CodeNewb
Habe jetzt verschiedene Namenskombinationen versucht, gtkrc-2.0.rc ,gtkrc.rc, gtkrc ohne Erfolg
So sieht momentan der Ordner von dem Programm aus:
[spoiler]Bild[/spoiler]

die gtkrc:

Code: Alles auswählen

gtk-icon-sizes = "gtk-menu=13,13:gtk-small-toolbar=16,16:gtk-large-toolbar=24,24:gtk-dnd=32,32"
gtk-toolbar-icon-size = small-toolbar

# disable images in buttons. i've only seen ugly delphi apps use this feature.
gtk-button-images = 0

# enable/disable images in menus. most "stock" microsoft apps don't use these, except sparingly.
# the office apps use them heavily, though.
gtk-menu-images = 1

# use the win32 button ordering instead of the GNOME HIG one, where applicable
gtk-alternative-button-order = 1

# use the win32 sort indicators direction, as in Explorer
gtk-alternative-sort-arrows = 1

# Windows users don't expect the PC Speaker beeping at them when they backspace in an empty textview and stuff like that
gtk-error-bell = 0

style "msw-default"
{
  GtkWidget::interior-focus = 1
  GtkOptionMenu::indicator-size = { 9, 5 }
  GtkOptionMenu::indicator-spacing = { 7, 5, 2, 2 }
  GtkSpinButton::shadow-type = in

  # Owen and I disagree that these should be themable
  #GtkUIManager::add-tearoffs = 0
  #GtkComboBox::add-tearoffs = 0
  
  GtkComboBox::appears-as-list = 1
  GtkComboBox::focus-on-click = 0
  
  GOComboBox::add_tearoffs = 0

  GtkTreeView::allow-rules = 0
  GtkTreeView::expander-size = 12

  GtkExpander::expander-size = 12

  GtkScrolledWindow::scrollbar_spacing = 1

  GtkSeparatorMenuItem::horizontal-padding = 2

  engine "wimp" 
  {
  }
}
class "*" style "msw-default"

binding "ms-windows-tree-view"
{
  bind "Right" { "expand-collapse-cursor-row" (1,1,0) }
  bind "Left" { "expand-collapse-cursor-row" (1,0,0) }
}

class "GtkTreeView" binding "ms-windows-tree-view"

style "msw-combobox-thickness" = "msw-default"
{
  xthickness = 0 
  ythickness = 0
}

widget_class "*TreeView*ComboBox*" style "msw-combobox-thickness"
widget_class "*ComboBox*GtkFrame*" style "msw-combobox-thickness"

Re: GTK+, Windows 7 Theme

Verfasst: Do Okt 09, 2014 8:56 am
von oenone
leg das mal direkt zur exe, mit dem gleichen Namen wie die exe, nur mit .rc statt .exe

Re: GTK+, Windows 7 Theme

Verfasst: Do Okt 09, 2014 10:51 am
von Xin
Hast Du sie in %HOMEPATH% gelegt?

Re: GTK+, Windows 7 Theme

Verfasst: Do Okt 09, 2014 3:47 pm
von CodeNewb
oenone hat geschrieben:leg das mal direkt zur exe, mit dem gleichen Namen wie die exe, nur mit .rc statt .exe
Nope, funzt auch nicht :cry:
Xin hat geschrieben:Hast Du sie in %HOMEPATH% gelegt?
Ja, selbst das brachte keinen Erfolg.

Ich habe jetzt einfach mal trial-and-error-mäßig Sachen aus dem GTK-Ordner zur .exe geschoben, und es scheint an:
"C:\GTK\lib\gtk-2.0\2.10.0\engines\libwimp.dll" zu liegen.
Wenn ich den lib-Ordner so in das Testprogramm-Verzeichnis rein kopiere, nutzt das Programm den Windows-Theme jedoch funktioniert es nicht wenn ich die libwimp.dll einfach so zur exe packe.

Re: GTK+, Windows 7 Theme

Verfasst: Fr Okt 10, 2014 11:53 am
von oenone
CodeNewb hat geschrieben:
oenone hat geschrieben:leg das mal direkt zur exe, mit dem gleichen Namen wie die exe, nur mit .rc statt .exe
Nope, funzt auch nicht :cry:
probier es nochmal, indem du am Anfang deines Programms gtk_rc_parse mit dem Dateinamen aufrufst.

Re: GTK+, Windows 7 Theme

Verfasst: Fr Okt 10, 2014 12:31 pm
von Xin
Gibt es keine Möglichkeit, in der Windows-Version diese Konfiguration beim Programmstart fix zu setzen?