PDAclub.pl - Forum użytkowników technologii mobilnych

Windows Mobile (Classic, Professional, Standard), Windows Phone 6.x oraz 7/8.x/10 => Oprogramowanie PPC => Dla programistów => Wątek zaczęty przez: lemkat w Wrzesień 05, 2005, 20:11:23

Tytuł: ExtTextOut();
Wiadomość wysłana przez: lemkat w Wrzesień 05, 2005, 20:11:23
Witam ponownie ;)

Do rysowania tekstu na ekranie pocketa uzywam funkcji ExtTextOut(), problem w tym ze jeden z parametrow funkcji to rozmiar lancucha.

Z funkcji odczytujacej procesy otrzymuje nazwe procesu w postaci:
TCHAR nazwa[ MAXPATH ]; ta nazwe wysylam do funkcji poprzez wskasnik

void WriteToScrean( HWND hWnd , LPCTSTR pText , int x , int y )
{
RECT rect;
HDC hdc;
CString sText;
UINT *uiLength;

hdc = GetDC( hWnd );
GetClientRect( hWnd , &rect );
sText = pText;

ExtTextOut( hdc , x , y , 0 , &rect, pText, ???? , NULL );
ReleaseDC( hWnd , hdc );
UpdateWindow( hWnd );
}

i teraz jak z zmiennej "LPCTSTR pText" uzyskac dlugosc nazwy pliku ???
prubowalem zapisac pText do zmiennej typu CString:
CString str = pText;
i uzyskac z niej rozmiar pText.GetLength tylko ze wartosc zwracana to int a ja potrzebuje uint a nie moge znalesc mozliwosci konwersji, jakies pomysly ?
Tytuł: ExtTextOut();
Wiadomość wysłana przez: PiKNew w Wrzesień 05, 2005, 20:54:13
pText.GetLength  - jest bez sensu, jeśli już to sText.GetLength()

1. najnormalniej w świecie rzutuj typ (UINT)
2. tylko po co, jak możesz zamiast tych cSringów i innych od razu dać:

ExtTextOut( hdc , x , y , 0 , &rect, pText, (UINT)_tcslen(pText), NULL );
Tytuł: ExtTextOut();
Wiadomość wysłana przez: lemkat w Wrzesień 05, 2005, 21:02:47
Sorry wlasnie wykukalem blad w kodzie ;/

CString sText = "Dowolny tekst";
UINT uiSize = sText.GetLength();

i dziala, kurde chyba za malo snu ;/

Kompilator pokazywal mi blad inny niz w rzeczywistosci, zdarza sie ;/

Pozdrawiam