DCPUSHBUTTON vs. DCPUSHBUTTONXP

Moderator: Moderatoren

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mo, 04. Mär 2019 9:08

ich bin gerade dabei meine Routinen auf Skalierung einzustellen. Dabei mußte ich feststellen, das Grafiken auf Pushbuttons z.B. auch automatisch angepaßt werden müssen, weil es sonst ein wenig lustig aussieht, wenn die gaaanz winzig werden. Jetzt stellt sich mir aber die Frage, wie man sowas z.B. auf Pushbutton macht? Die müssen ja wohl skaliert werden. Ist das auf DCPUSHBUTTON überhaupt so möglich/empfehlenswert, oder sollte man da lieber DCPUSHBUTTON XP nehmen? Mit beiden Varianten habe ich so meine Probleme mit der exakten programmiern. Kann mir jemand mal auf die Sprünge helfen, wie ma sowas am elegantesten/einfachsten löst, das die Grafiken auf den Pushbutton mit angepaßt werden? Oder geht das überhaupt nicht vernünftig automatisch?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mo, 04. Mär 2019 9:30

ich habe gerade den Paramenter SCALEBITMAP bei DCPUSHBUTTON entdeckt. den habe ich mal hinzugefügt. Jetzt sieht es aber m.E. grottenübel aus. Sie werden zwar skaliert, aber....
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7693
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Tom » Mo, 04. Mär 2019 9:56

Bitmapskalkierung sieht mit Xbase++ immer scheiße aus. Da findet kein "smart resize" o.ä. statt, sondern es werden einfach Pixel weggelassen. Deshalb ist es sinnvoller, die Bitmaps in verschiedenen - vorskalierten - Größen mitzuliefern und je nach Darstellung die Ressource zu wechseln, um sie dann möglichst in unskalierter Form anzuzeigen. Das geht am leichtesten mit Icons, die innerhalb einer Datei ohnehin in diversen Größen vorliegen können. Ich lade alle Icons, die auf Pushbuttons (XP) sitzen, in der besten passenden Größe und zeige sie auch in dieser an.
Herzlich,
Tom

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mo, 04. Mär 2019 10:27

OK,
das hattes Du schonmal hier erwähnt, aber woher weißt Du denn, welches Icon Du wann laden mußt?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7693
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Tom » Mo, 04. Mär 2019 11:16

Ich arbeite mit einem Kleinster-gemeinsamer-Nenner-Skalierungsfaktor, den ich errechne, und dann gibt es u.a. eine Funktion "BestFitSize". Wenn ein Standard-Pushbutton 1 Zeile nach eXpress++-Notation hoch ist (also 20 Pixel), dann ist BestFitSize 16x16, die nächstkleinere Icongröße. Wenn der Skalierungsfaktor 1,5 ist, ist eine Standard-Schaltfläche 30 Pixel hoch. BestFitSize wäre dann 24x24. Bei einer Skalierung von 1,6 oder 160 Prozent wären es aber 32x32. Diese Icongrößen lade ich dann in der zentralen Funktion, über die sich die Pushbuttons ihre Icons holen.
Herzlich,
Tom

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mo, 04. Mär 2019 11:20

Klappt denn die Skaliereung unter den DCPUSHBUTTONXP auch nicht richtig? Ich habe das noch nicht hinbekommen um es zu testen.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2525
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack » Mo, 04. Mär 2019 18:30

Also bei DCPUSHBUTTONXP... BITMAP gibt es ja ein SCALE, den benutze ich mit verschiedenen Faktoren (0.4, 0.6) bei 48x48 Bitmaps, das klappt ganz gut.
Viele Grüße
Wolfgang

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mo, 04. Mär 2019 18:47

Wolfgang,
kannst Du mal eine Beispielzeile posten dazu? Ich habe das mit dem Picture nicht hinbekommen. Irgendwas mache ich falsch.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2525
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack » Mo, 04. Mär 2019 18:51

Code: Alles auswählen

@37, 3 DCPUSHBUTTONXP ;
        CAPTION "Anzeige Terminfenster" OFFSET 0 ;
        PARENT oStaticMel ;
        SIZE 240, 50 ;
        CONFIG M->oGDL:oBtnConf1 ;
        FONT M->oGDL:cSayFont ;
        BITMAP TB_MONAT ALIGN XBPALIGN_VCENTER+XBPALIGN_LEFT OFFSET 5 SCALE 0.6 ;
        ACTION {|| ShowMsgWin(.T.)}
Viele Grüße
Wolfgang

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mo, 04. Mär 2019 19:04

aha, da liegt wohl mein Unverständnis. Warum gibt man da noch eine Caption an? Es wird doch ein Bitmap angezeigt, oder?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mo, 04. Mär 2019 19:23

gibt eigentlich bei DCPUSHBUTTONXP keinen Cargo Slot? Den benutze ich bei DCPUSHBUTTON. Ich kann ihn aber im Objektinspektor nur als leer auffinden.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2525
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack » Mo, 04. Mär 2019 19:32

Ich gebe da nur noch ein CAPTION an, weil ich beides haben will, ein Bitmap links mit Text rechts daneben oder unter dem Bitmap (dann muss man das ALIGN ändern).
Viele Grüße
Wolfgang

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mo, 04. Mär 2019 19:35

OK,
dachte ich mir schon. Und wozu ist OFFSET gut? Das wird in der Anleitung nicht erklärt.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2525
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack » Mo, 04. Mär 2019 19:37

Laut Doku gibt es auch ein CARGO.
Viele Grüße
Wolfgang

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2525
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack » Mo, 04. Mär 2019 19:41

Mit Offset kannst du es verschieben (positionieren), z.B. bei dem Bitmap, damit es nicht ganz links am Rand sitzt. Bei CAPTION kannst du damit (in meinem Beispiel) den Abstand vom Bitmap vergrößern. Ist im Prinzip so etwas wie ein Rand.
Viele Grüße
Wolfgang

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mo, 04. Mär 2019 19:41

richtig, das schreibe ich was rein, aber im Objektinspektor steht NIL und wenn man den abfragt, gibt es eine Fehlermeldung.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mo, 04. Mär 2019 19:51

prima, das mit dem Scale klappt und sieht sauber aus. Jetzt muß ich nur noch das mit dem CArgo finden, warum das nicht will.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2525
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack » Di, 19. Mär 2019 19:35

Ich habe heute bei DCPUSHBUTTONXP Cargo benutzt und es klappt:

Code: Alles auswählen

for i:=1 to l
   if i=1
      vtg:=XBP_BEGIN_GROUP
   elseif i=l
      vtg:=XBP_END_GROUP
   else
      vtg:=XBP_WITHIN_GROUP
   endif
   sB:="oBtn"+alltrim(str(i))

   @4,btadd+(i-1)*15 DCPUSHBUTTONXP CAPTION aButt[i][1] ;
       SIZE 14,1.2 ;
       CONFIG M->oGDL:oBtnConf2 ;
       OBJECT &sB ;
       CARGO aButt[i][3] ;
       BITMAP aButt[i][2] ALIGN XBPALIGN_VCENTER+XBPALIGN_LEFT OFFSET 5 SCALE 0.8 ;
       ACTION {|a,b,o| retw:=o:cargo[3], DC_ReadGuiEvent(DCGUI_EXIT_OK,GetList)} ;
       TABGROUP vtg ;
       TABSTOP ;
       ACCELKEY aButt[i][4]

   if aButt[i][3]=vorgabe
      sF:="oBtn"+alltrim(str(i))
   endif
next
Viele Grüße
Wolfgang

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Di, 19. Mär 2019 20:37

wie sprichst Du den nachher den Inhalt von Cargo an?
mit cargo[3] := "xyz"? So wird Cargo ja bei den normalen Pushbutton angesprochen.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2525
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack » Mi, 20. Mär 2019 6:52

Ja, so wie im Action Block, o:cargo[3].
Viele Grüße
Wolfgang

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mi, 31. Jul 2019 9:45

es tut mir fürchterlich leid, aber es klappt nicht bei mir. Wenn ich DCPUSHBUTTON Cargo belege und dann mit :cargo[3] abfrage, bekomme ich immer NIL zurück. Da steht zum Verrecken nichts drin.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 15004
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Martin Altmann » Mi, 31. Jul 2019 10:18

Manfred,
:cargo[3] wird auch nur was zurückliefern, wenn dort ein Array mit mindestens drei Elementen (oder eine Zeichenkette mit mindestens drei Zeichen Länge) drin steht :!:
Wie also hast Du vorab :cargo belegt?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mi, 31. Jul 2019 10:44

da steht anfänglich "AN" drin, wie auch bei den normalen DCPUSHBUTTON.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 15004
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Martin Altmann » Mi, 31. Jul 2019 10:55

Und wie willst du das dritte Element einer zwei Zeichen langen Zeichenkette abfragen?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred » Mi, 31. Jul 2019 10:57

Martin,
wir reden hier von express++. In der Anleitung steht bei beiden das gleiche. Deshalb meine Frage, wieso bei dem einen klappt und bei dem anderen nicht.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Antworten