Zawijanie wierszy w MessageBox'ie

0

Chciałbym aby w messageboxie tekst wyświetlał się zawsze w 2 liniach. Wiem, że okienko to niby ma automatyczne zawijanie wierszy ale niestety nie zawsze ono działa.(Na W7 zawija po 70 znakach, na Xp po 88 nie zawija). Czy jest jakieś polecenie, znak specjalny by wymusić zawijanie wiersza ?

0

postaw znak końca linii.
http://pl.wikipedia.org/wiki/End-of-line

0

teskt1 + #13#10 + tekst2
lub
'tekst1'#13#10'tekst2'

0

Dokładnie, można dać tylko #13#10, ale pod Windows 7 lepiej tak nie zwijac, bo o ile pod XP pamiętam że w MessageBoxach spokojnie dawałem "szersze" wiersze, to już pod Windows 7 tekst mi się brzydko prezentował bo go porozcinało, dlatego pod Windows 7 jeśli nie muszę to nie stosuje krótkich wierszy tylko piszę dodając w liniach w kodzie kolejne 'tekst + tekst linijkę niżej itp. Głównie dłuższe teksty stosuje w MessageBoxach z About bo mi się pod WinAPI nie chce babrać z robieniem wypasionego osobnego dialogu dla About i w nowych linjkach podaję tylko osobno na przykład informację skąd ściągnąc grę tak jak w pisanych na prośbę trainerach (na przykład do Settlersów PC działających pod DosBoxem).

0

W C# można coś takiego osiągnąć za pomocą łańcucha dosłownego, np.

 System.Windows.Forms.MessageBox.Show(@"To będzie
dwulinijkowy tekst"); 
1
olesio napisał(a)

Dokładnie, można dać tylko #13#10, ale pod Windows 7 lepiej tak nie zwijac

Nie rozumiem dlaczego dodajecie CR - wystarczą same LF;

Przykład użycia:

MessageBox(Self.Handle, 'To pierwsza linia.'#10#10'To druga.', 'Kilka linii', MB_OK);

co spowoduje wyświetlenie poniższego okienka:

MessageBox.png

Zawsze w ten sposób łączyłem łańcuchy w MessageBox i nigdy mnie ten sposób nie zawiódł; Zawijanie wierszy to inna sprawa, ponieważ trzeba znać zachowanie okienka na dłuższe linie tekstu; Dlatego zawsze polecam napisanie sobie własnego okienka dialogowego i oprogramować je typowo pod własne wymagania;

0
furious programming napisał(a):
MessageBox(Self.Handle, PChar('To pierwsza linia.'#10#10'To druga.'), 'Kilka linii', MB_OK);

To druga. - to kłamstwo bo to jest trzecia.

0
_13th_Dragon napisał(a)

To druga. - to kłamstwo bo to jest trzecia.

No tak, druga którą widać;

Usunąłem z przykłądu rzutowanie żeby nie zawijało linii kodu;

1 użytkowników online, w tym zalogowanych: 0, gości: 1