Szöveg a panel középére2016-05-30T16:09:52+00:00

Címkézve: 

2 bejegyzés megtekintése - 1-2 / 2
  • Szerző
    Bejegyzés
  • mpeter
    Tag
    Bejegyzések száma: 38

    Szia Radu!

    Baloldalon egy info panelen jelenítek meg szövegeket LABEL objektumokkal. Van néhány, amit középre akarok igazítani. Az ALIGN_CENTER csak EDIT objektumon működik. Ezért próbáltam a TextGetSize függvénnyel lekérdezni a szöveg szélességét, és ezt felhasználva beállítani az OBJPROP_XDISTANCE értéket. Ha kódban lévő w és h értékeket kiíratom, kisebbek mint a képernyőn megjelenő szöveg pixelben.

    void CreateLabel( string _name, int _x, int _y, string _text )
    {
      uint w = 0, h;
    
      TextSetFont( "Arial", 12 );
      TextGetSize( _text, w, h );
    
      ObjectCreate( 0, _name, OBJ_LABEL, 0, 0, 0 );
      ObjectSetInteger( 0, _name, OBJPROP_CORNER, CORNER_RIGHT_UPPER );
      ObjectSetString( 0, _name, OBJPROP_FONT, "Arial" );
      ObjectSetInteger( 0, _name, OBJPROP_FONTSIZE, 12 );
      ObjectSetInteger( 0, _name, OBJPROP_COLOR, clrWhite );
      ObjectSetInteger( 0, _name, OBJPROP_YDISTANCE, _y );
      ObjectSetInteger( 0, _name, OBJPROP_XDISTANCE, _x - ( 300 - w ) / 2 );
    
      ObjectSetString( 0, _name, OBJPROP_TEXT, _text );
    }
    
    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    A “Notes” (Megjegyzések) részben leírtak szerint -10 -zel kell szoroznod a méretet akkor, ha OBJ_LABEL -t akarsz vele mérni. Tehát ne 12-t adj meg fontméretnek, hanem -120 -at, így kijön majd a helyes érték.

      TextSetFont( "Arial", -120 );
      TextGetSize( _text, w, h );
    
2 bejegyzés megtekintése - 1-2 / 2

A hozzászóláshoz jelentkezz be!

Adhatok Neked még több ingyenes tartalmat?

Értesítelek hetente megjelenő új tartalmaimról.

Hozzájárulok, hogy az adatvédelmi nyilatkozat szerint biztonságosan kezeld megadott adataimat, valamint hasznos anyagokat és egyedi ajánlatokat küldj nekem termékeiddel, szolgáltatásaiddal kapcsolatban e-mailben