DCPUSHBUTTON vs. DCPUSHBUTTONXP

Moderator: Moderatoren

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Tom »

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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Tom »

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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack »

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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack »

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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack »

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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

OK,
dachte ich mir schon. Und wozu ist OFFSET gut? Das wird in der Anleitung nicht erklärt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack »

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: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack »

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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack »

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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Wolfgang Ciriack »

Ja, so wie im Action Block, o:cargo[3].
Viele Grüße
Wolfgang
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Martin Altmann »

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
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

da steht anfänglich "AN" drin, wie auch bei den normalen DCPUSHBUTTON.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Martin Altmann »

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
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCPUSHBUTTON vs. DCPUSHBUTTONXP

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten