MessageBox



  • wchar_t wcBuf[100];
    wsprintf(wcBuf, L"%i", iIrgendwas);
    
    MessageBoxW(0, wcBuf, L"Kultig ;)", MB_OK);
    

    [EDIT]
    Oder du nimmst _stprintf, dann läuft das Teil auch unter Win9x/ME ;), wenn du nicht #define UNICODE am Anfang deines Codes hinschreibst.
    [/EDIT]

    cya 🙂

    [ Dieser Beitrag wurde am 02.03.2003 um 18:23 Uhr von MagiC Creator editiert. ]



  • mit _stprintf statt wsprintf bekomm ich ne fehlermeldeung:

    *error C2664: 'sprintf' : Konvertierung des Parameters 1 von 'unsigned short [100]' in 'char ' nicht moeglich
    Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat



  • Da musst du dann um jeden String das TEXT-Makro rummachen, also z.B. TEXT("Test-String").

    cya 🙂



  • also soll das so aussehen?

    wchar_t wcBuf[100];
            _stprintf(wcBuf, TEXT(L"%i"), iIrgendwas);
            MessageBoxW(0, wcBuf, TEXT(L"Kultig ;"), MB_OK);
    

    die fehlermeldung kommt trotzdem noch...



  • warum nicht sprintf:

    int iIrgendwas = 56;
    char toprint[256];
    sprintf(toprint, "%d\0", iIrgendwas);
    MessageBox(NULL, toprint, "Die Zahl 56", MB_ICONINFORMATION);
    // MFC: MessageBox(toprint);
    

    Ich hab grad kein Compiler zur Hand, also weiß ich nicht, ob der code fehlerlos ist.

    [ Dieser Beitrag wurde am 02.03.2003 um 19:37 Uhr von pAngel editiert. ]



  • Weil das nur mit char funktioniert.

    Die allgemeine Variante ist diese:

    TCHAR pBuf[100];
    wsprintf(pBuf, TEXT("%i"), iIrgendwas);
    MessageBox(NULL, pBuf, TEXT("iIrgendwas"), MB_OK);
    


  • danke, ich habs jetzt hingekriegt 😃
    wie würd das ganze eigentlich mit TextOut aussehen?



  • Laut MSDN müsste das wohl so aussehen:

    TCHAR pBuf[100];
    wsprintf(pBuf, TEXT("%i"), iIrgendwas);
    TextOut(hdc,0,0,pBuf, ARRAYSIZE(pBuf));
    

    Die zwei 0'en sind die x und y Koordinate! Warum schaust du sowas eigentlich nicht selbst nach 🙄



  • unter was für stichwörtern soll ich sowas denn finden?

    aber egal, neues problem:
    wenn ich das genze jetzt in einem editfenster anzeigen will, bekomm ich nur noch zeichenmüll.

    mein Editfenster sieht so aus:

    hEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "edit", pBuf,                                   
                               WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY | ES_NUMBER,
                               0, 0, 100, 100,
                               hWnd,
                               NULL,
                               ((LPCREATESTRUCT) lParam) -> hInstance,
                               NULL); 
                 SendMessage(hEdit, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
    

    es erscheint aber nur noch sowas im editfenster: "ììììì"



  • zu 1.) Einfach in der MSDN-Library nach TextOut suchen 😕
    zu 2.) Versuchst mal mit SetDlgItemInt


Anmelden zum Antworten