Schriftgröße in Menüs ändern

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Schriftgröße in Menüs ändern

Beitrag von stevie1401 »

Ich versuche gerade die Schriftgröße in PopupImageMenüs zu ändern.
Mit Setgadgetfont(#meinmenu,FontId(font) funktioniert es leider nicht.
Hat jemand eine Idee?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: Schriftgröße in Menüs ändern

Beitrag von Bisonte »

Ist meines Wissens nur mit API unter Windows möglich (Originalen Menues) oder per selbst erstellten Menues (Window mit z.b. CanvasGadget).
Für die API Geschichte hat RASHAD im englischen Forum was gepostet.
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Schriftgröße in Menüs ändern

Beitrag von Kiffi »

@Bisonte: SpiderBasic
Hygge
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: Schriftgröße in Menüs ändern

Beitrag von Bisonte »

:oops: Man sollte vor dem Posten schon mind. ein Liter Kaffeedurchfluss gehabt haben... verdammt ;)
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Schriftgröße in Menüs ändern

Beitrag von ccode_new »

Hallo!

Wie kann man das CSS eines von SpiderBasic erstellten Menüs setzen ?

Zum Beispiel so:

Code: Alles auswählen

CreateImage(0, 16, 16)
If StartDrawing(ImageOutput(0))
  Box(0, 0, 16, 16, RGB(255, 0, 0)) ; red box
  StopDrawing()
EndIf

CreateImage(1, 16, 16)
If StartDrawing(ImageOutput(1))
  Box(0, 0, 16, 16, RGB(0, 255, 0)) ; green box
  StopDrawing()
EndIf

CreateImage(2, 16, 16)
If StartDrawing(ImageOutput(2))
  Box(0, 0, 16, 16, RGB(0, 0, 255)) ; blue box
  StopDrawing()
EndIf

If CreatePopupImageMenu(0)
  MenuItem(1, "Rot", ImageID(0))
  MenuItem(2, "Grün", ImageID(1))
  MenuItem(3, "Blau", ImageID(2))
EndIf

Procedure GadgetEvents()
  If EventGadget() = 0 And EventType() = #PB_EventType_RightClick
    Debug "here"
   
    DisplayPopupMenu(0, WindowID(0))
    
    ;Die Anweisungen müssen nach dem Anzeigen des Menüs erfolgen.
    
    ! $("#"+v_menue.id).css("background", "pink");
    ! $("#"+v_menue.id).css("color", "brown");
    ! $("#dijit_MenuItem_1").css("color", "green");
    ;Hier wird die Anzeige-Größe in Pixel gesetzt.
    ! $("#"+v_menue.id).css("font-size", "18px");
    ;So setzt man z.B. einzelne Menüeinträge
    ! $("#dijit_MenuItem_1").css("font-size", "32px");

  EndIf
EndProcedure

Procedure MenuEvents()
  Debug EventMenu()
EndProcedure

If OpenWindow(0, 100, 100, 300, 260, "PopupMenu example", #PB_Window_TitleBar)
 
  ListIconGadget(0, 10, 10, 280, 240, "Tools", 200)
  AddGadgetItem(0, -1, "Hammer")
  AddGadgetItem(0, -1, "Screwdriver")
 
  liste = GadgetID(0)
  ;Hier wird die interne ID ermittelt.
  menue = MenuID(0)
 
 
  ! $(v_liste.div).find(".dgrid-content.ui-widget-content").css("color", "red");
  ! $(v_liste.div).find(".dgrid-content.ui-widget-content").css("background", "yellow");
 
  !alert(v_liste.div);
  ;Ein Menü ist kein DIV-Objekt.
  !alert(v_menue.id);
 
  BindEvent(#PB_Event_Menu, @MenuEvents())
  BindEvent(#PB_Event_Gadget, @GadgetEvents())
 
EndIf
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Schriftgröße in Menüs ändern

Beitrag von stevie1401 »

Erst einmal vielen dank für deine Mühen!
Leider funktioniert dein Beispiel bei mir nicht.
Das Menü:
If CreatePopupImageMenu(0)
MenuItem(1, "Rot", ImageID(0))
MenuItem(2, "Grün", ImageID(1))
MenuItem(3, "Blau", ImageID(2))
EndIf

erscheint bei mir gar nicht.
Stattdessen bekomme ich die Meldungen:, [object HTMLDivElement]

und
dijit_Menu_0



Diese Seite daran hindern weitere Dialoge zu öffnen.




Getestet mit Googel Chromium und Firefox.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Schriftgröße in Menüs ändern

Beitrag von ccode_new »

Hi!

Markiere mal die Zeilen:

!alert(v_liste.div);
;Ein Menü ist kein DIV-Objekt.
!alert(v_menue.id);
und mache einen Rechtsklick mit deiner Computermaus/Touchpad/Touchscreengeste, etc.
Dann wähle "Insert comments" aus.
(Oder gehe über das Menü./ Oder setze einfach so ein Semikolon vor diese Zeilen.)

Eigentlich sollte es funktionieren.

Bei wem funktioniert es so auch nicht ? (Melden)
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Schriftgröße in Menüs ändern

Beitrag von stevie1401 »

Ich habe es an 4 Rechnern versucht, Windows und Linux, Spider 2.22 und 2.30. Firefox, Chrome, Chromium. Immer das gleiche...
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Schriftgröße in Menüs ändern

Beitrag von ccode_new »

Das kann ich leider nicht nachvollziehen.

An was scheitert es ?

Mache einen Rechtsklick auf das ListView und was passiert dann ?

Oder wird bei dir die Seite nicht geladen ?

Achte bitte auch darauf keine Kommentare nach Anweisungen >> mit einem Semikolon am Ende << einzufügen.
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Schriftgröße in Menüs ändern

Beitrag von Kiffi »

ccode_new hat geschrieben:Bei wem funktioniert es so auch nicht ? (Melden)
funktioniert hier.
Hygge
Antworten