IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Šeryx
Člen
Avatar
Šeryx:24.3.2014 20:38

Ahoj, tak teď mám zase problém s tím že chci vykreslit string což je jednoduchý ale potřebuju se trefit "přesně"(alespoň přibližně) na center obrazovky ale musíme brát v potaz velikost fontu a počet písmen..Pořád se mi to moc nedaří vypočítat a tak se chci zeptat jestli se na to nedá použít nějaká fce.
Můj "pokus":

px1 = (this.Width / 2) - (((velf/10)*(9-s2.Length)) * s2.Length);

kde:px1=x.sou­řadnice...vel­f=velikost fontu...s2=text
Moc dík za odpovědi. Doufám že to bude jednoduchý a nebudu na to vymýšlet nějaký závislosti.. :D

Odpovědět
24.3.2014 20:38
Neodsuzuj někoho za to co něco neumí, ale uznávej ho za to co umí....
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Šeryx
Petr Nymsa:24.3.2014 20:52

Použij WPF a v XAML nastavíš horizontal alignment. Resp. prvku (objektu) nastavíš Alignment jaké požaduješ

Editováno 24.3.2014 20:52
Nahoru Odpovědět
24.3.2014 20:52
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Šeryx
Člen
Avatar
Odpovídá na Petr Nymsa
Šeryx:24.3.2014 20:54

A ve WinForms se to udělat nedá?

Nahoru Odpovědět
24.3.2014 20:54
Neodsuzuj někoho za to co něco neumí, ale uznávej ho za to co umí....
Avatar
Odpovídá na Šeryx
Andrej Farkaš:24.3.2014 21:06

Radšej by si sa mal venovať WPF ;-) Ale ak to musí byť vo WinForms, vyskúšaj toto:
http://stackoverflow.com/…net-winforms
Alebo toto:
http://stackoverflow.com/…-in-winforms

Editováno 24.3.2014 21:07
Nahoru Odpovědět
24.3.2014 21:06
Live. Love. Learn.
Avatar
Nahoru Odpovědět
24.3.2014 21:22
Live. Love. Learn.
Avatar
Šeryx
Člen
Avatar
Odpovídá na Andrej Farkaš
Šeryx:24.3.2014 21:24

A proč je lepší se teda věnovat WPF? Jinak odkazy směřují k tomu že tázající zná šířku textu ale tu já neznám a dělám to přes

e.DrawString(......);

takže tam není kontrolka jako Label.

Nahoru Odpovědět
24.3.2014 21:24
Neodsuzuj někoho za to co něco neumí, ale uznávej ho za to co umí....
Avatar
Nahoru Odpovědět
24.3.2014 21:34
Live. Love. Learn.
Avatar
Šeryx
Člen
Avatar
Šeryx:24.3.2014 21:39

No dpc já se učím WF a teď zase WPF..proč není jen jeden prog. jazyk na všechno.. :D

Nahoru Odpovědět
24.3.2014 21:39
Neodsuzuj někoho za to co něco neumí, ale uznávej ho za to co umí....
Avatar
rawen
Člen
Avatar
rawen:24.3.2014 21:40

Náhodou jsem něco podobného kdysi dávno dělal ve WF, napsal jsem si tehdy na to jednoduchou metodu metodu..

private readonly Font fontTextu = new Font("Arial", 8);
private Brush barvaText = new SolidBrush(Color.Black);

public void vycentrujText(PictureBox pictureBox, string text, Graphics g)
{
    SizeF textSize = g.MeasureString(text, fontTextu);
    g.DrawString(text, fontTextu, barvaText, (pictureBox.Width - textSize.Width) / 2, (pictureBox.Height - textSize.Height) / 2);
}

Snad je to uchopitelné. :)

Editováno 24.3.2014 21:42
Nahoru Odpovědět
24.3.2014 21:40
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Avatar
rawen
Člen
Avatar
Odpovídá na Šeryx
rawen:24.3.2014 21:52

Však to není jiný jazyk, jen rozhraní. Když se člověk naučí nějaké programovací zvyklosti a začne mít už nějaké návyky, tak můžu bez problému intuitivně programovat i v něčem co nezná.

Nahoru Odpovědět
24.3.2014 21:52
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Avatar
Šeryx
Člen
Avatar
Odpovídá na rawen
Šeryx:25.3.2014 17:37

Jo dík nevěděl jsem o tom že se dá takhle jednoduše zjistit šířka textu :D Už to přibližně funguje ;-)

Nahoru Odpovědět
25.3.2014 17:37
Neodsuzuj někoho za to co něco neumí, ale uznávej ho za to co umí....
Avatar
Eldan
Člen
Avatar
Eldan:25.3.2014 20:25

Ve WinForms je to jednoduché. Nastav si TextAlign na MiddleCenter, AutoSize na False a nastav tomu stejnou šířku jako má Form.

Nahoru Odpovědět
25.3.2014 20:25
Unobfuscated executable == free source code
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.