Bitmap als Button

  • $bglistadd = GuiCtrlCreateButton("images\button_add.bmp", 20, 520, 70, 20,$BS_BITMAP)

    ich hatte irgendwie in erinnerung das das so geht wenn man n bitmap als button machen will. Aber das funzt bei mir net. Kann mir ma schnell jmd helfen?

    PS: gibt es vllt eine möglichkeit nur den Hintergrund des Buttons als Grafik zu machen, so dass immer noch eine Text drüber gelegt werden kann.

    EDIT: Hab da noch n Frage. Kann man von ner GUI auch komplett den Fensterrahmen (also auch oben die Leiste) entfernen?

    Einmal editiert, zuletzt von Schneemann (26. August 2006 um 03:45)

    • Offizieller Beitrag

    Hallo, ein Bitmap im Button wird so gesetzt:

    Code
    $bglistadd = GuiCtrlCreateButton("", 20, 520, 70, 20,$BS_BITMAP)
    GUICtrlSetImage (-1, "images\button_add.bmp")

    Text und Bitmap geht bei den Standardbuttons nicht, du könntest den Text mit einem Grafikprogramm in die Grafik schreiben!

    Eine GUI ohne Rahmen bekommst du wenn du als Style nur $WS_POPUP angibst!

  • jetzt hab ich aber immer noch so n komisch rahmen um die buttons. der soll weg

    PS: Danke für eure Hilfe schonma

  • Die Buttons sind immer eckig im Standart autoit style und dein image ist anscheinend nicht eckig darum siehst du an den ecken noch was von dem button hintergrund :P

  • ja egal ich hab jetzt einfach n Pic hingemacht. Nur ich hab ja jetzt $WS_POPUP und hab oben und unten n pic nun will ich dass bei den pics die ecken transparent sind. Also dass die Ecken abgerundet sind.

    EDIT: Noch ein problem... Wie bekomme ich von einem GUIObject die Position?

    2 Mal editiert, zuletzt von Schneemann (26. August 2006 um 16:39)

  • Zitat

    Original von Schneemann
    ja egal ich hab jetzt einfach n Pic hingemacht. Nur ich hab ja jetzt $WS_POPUP und hab oben und unten n pic nun will ich dass bei den pics die ecken transparent sind. Also dass die Ecken abgerundet sind.

    Habe gerade mal geguckt, selbst wenn ich bei den bmp Dateien die Transparenz beibehalte, erkennt es AutoIt nicht.

    Und wenn du anstatt bmp, ico Files nehmen würdest?

    Wenn es aber eine Möglichkeit über AutoIt selbst gibt, dann wüßte ich die auch gerne.

    Wenn man sich das Beispiel GUICtrlCreatePic.au3 anguckt, ist es möglich Pics Transparent darzustellen, doch habe ich es nicht hinbekommen auf das Pic dann eine Funktion zu hinterlegen.

    Mfg

    Anaylzer

  • Zitat

    Original von AspirinJunkie
    Also meines Wissens nach ist es nicht möglich bei bmp-Dateien eine Transparenz einzustellen.
    Wenn sollte man es also über gif, png oder halt ico probieren.

    Vielleicht hilfts ja weiter.

    Doch das ist machbar, bestes Beispiel ist das Oemlogo bei Windows unter Systemeigenschaften. Max. 256 Farben und 8-Bit müßte es sein, wenn ich es jetzt richtig im Kopf habe.

    Mfg

    Analyzer

  • In der AutoIt-Hilfe findet man für die GUICtrlCreatePic-Funktion folgende Erklärung:

    Zitat

    Um ein Bild mit transparentem Hintergrund zu haben, muss ein .gif-Bild verwendet werden, in dem die transparente Farbe festgelegt ist; außerdem muss das Fenster mit dem erweiterten Stil WS_EX_LAYERED erzeugt werden.


    Ich könnte mir vorstellen das dieses Beschränkung ebenfalls für die GUICtrlSetImage-Funktion gilt.

  • doch es gibt eine funktion BGCtrlSetBKColor(-1,$GUI_BKCOLOR_TRANSPARENT) oder so. Wenn man davor eine transparente gif eingefügt hat funzt das glaub ich. aber wenn es geht dann ist da immer noch der Fensterhintergrund und ich will ja dass die ecken komplett transparent sind. Also dass man da den Bildschirmhintergrund oder so sieht