listbox->string hineinschreiben



  • Mr Evil schrieb:

    mach einfach

    an der stelle wo es hinzugefuegt werden soll

    //pseudocode

    ListView_AddItem(hwnd3, _T("Test"));
    

    Das wird nicht funktionieren. Er arbeitet mit einer ListBox, nicht einem ListView.

    Mr Evil schrieb:

    ps. warum ist es hier im forum fuer manche so schwer "cpp" tags zu verwenden, staendig seh ich nur diese "code" tags - des nervt

    Er hat doch CPP-Tags verwendet 🙄 .

    Mr Evil schrieb:

    warum convertierst du es nach long ?
    mach das so:

    SendMessage(hwnd3,LB_ADDSTRING,0,(long)"> blabal");
    
    ::SendMessage(mhwnd3, LB_ADDSTRING, 0, reinterpret_cast<LPARAM>(_T("blabla")));
    

    Dort konvertierst Du auch nach long 😉 . LPARAM ist definiert als long...obwohl man generell die vorhandenen Typen verwenden sollte (also hier LPARAM), da sich dies in zukünftigen Versionen ändern kann (also die Definition von LPARAM = long).

    EDIT: Das mit dem _T() bzw. TEXT() ist aber sehr sinnvoll! Hatte ich vergessen zu erwähnen.



  • CodeFinder schrieb:

    Das wird nicht funktionieren. Er arbeitet mit einer ListBox, nicht einem ListView.

    schon, aber schau selber mal zu welcher message das ListView makro geaendert wird - das ist genau das richtige {o;

    CodeFinder schrieb:

    Er hat doch CPP-Tags verwendet 🙄 .

    ups, ok stimmt, sah auf den ersten blick so komisch aus #gg

    CodeFinder schrieb:

    Dort konvertierst Du auch nach long 😉 . LPARAM ist definiert als long...obwohl man generell die vorhandenen Typen verwenden sollte (also hier LPARAM), da sich dies in zukünftigen Versionen ändern kann (also die Definition von LPARAM = long).

    oh, wusste ich gar nicht - gleich mal nachschaun #gg



  • Mr Evil schrieb:

    CodeFinder schrieb:

    Das wird nicht funktionieren. Er arbeitet mit einer ListBox, nicht einem ListView.

    schon, aber schau selber mal zu welcher message das ListView makro geaendert wird - das ist genau das richtige {o;

    lol, das Makro existiert gar nicht. Oder kannst Du mir dazu mal einen Link posten ?



  • irgendwas hab ich da durcheinander gebracht, das ListView_InsertItem gibts - naja egal #gg

    mal kurz was anderes - wenn ich "LPARAM" bei mir im source nach "long" aender bekomm ich nur errors - das selbe bei WPARAM



  • Mr Evil schrieb:

    mal kurz was anderes - wenn ich "LPARAM" bei mir im source nach "long" aender bekomm ich nur errors - das selbe bei WPARAM

    Zeig mal eine Code-Änderung und den dazugehörigen Error.



  • ::SendMessage(m_Handle, WM_SETFONT, reinterpret_cast<unsigned int>(GetStockObject(uiFont)), 0);
    

    warning C4311: 'reinterpret_cast' : pointer truncation from 'HGDIOBJ' to 'unsigned int'

    ::SendMessage(m_Handle, EM_GETSEL, reinterpret_cast<unsigned int>(&oldPosF), reinterpret_cast<long>(&oldPosE));
    

    warning C4311: 'reinterpret_cast' : pointer truncation from 'unsigned long *__w64 ' to 'unsigned int'
    warning C4311: 'reinterpret_cast' : pointer truncation from 'unsigned long *__w64 ' to 'long'

    zugegeben ich bekomm immer nur lauter warnungen - aber in meinen augen ist ne warnung genauso schlimm

    //dazuedit
    insgesammt hab ich 114 warnungen

    //dazuedit
    ich habe mal eben gegooglet - das liegt anscheinend mit der 64bit erkennung zusammen, die muss ich in den project settings deaktivieren, dann kommen keine warnungen mehr



  • Ich selbst schrieb:

    [...] LPARAM ist definiert als long...obwohl man generell die vorhandenen Typen verwenden sollte (also hier LPARAM), da sich dies in zukünftigen Versionen ändern kann (also die Definition von LPARAM = long).



  • du weisst - du kennst schon meine meinung zu "NULL"
    auch das "DWORD", "BOOL" und "UINT" hab ich jeweils durch das richtige ersetzt - hauptsaechlich aus den grund das so es schoen blau wird und man es dadurch schneller erkennt beim ueberfliegen #gg

    bloed nur das ich meine eigenen defines nicht blau machen kann #gg

    ich verwende sowas aber nur wenn es da unterschiede zwischen unicode und multibyte gibt



  • Mr Evil schrieb:

    du weisst - du kennst schon meine meinung zu "NULL"
    auch das "DWORD", "BOOL" und "UINT" hab ich jeweils durch das richtige ersetzt - hauptsaechlich aus den grund das so es schoen blau wird und man es dadurch schneller erkennt beim ueberfliegen #gg

    bloed nur das ich meine eigenen defines nicht blau machen kann #gg

    Du kannst da noch ne Menge gewaltig einfärben, ABER: Desto mehr Du einfärbst, desto unübersichtlicher wird es. -Glaub mir.

    Guckst Du: Punkt 4 und 5: "Define custom keyword / Define custom colours in the IDE"

    Mr Evil schrieb:

    ich verwende sowas aber nur wenn es da unterschiede zwischen unicode und multibyte gibt

    Was sicherlich auch sinnvoll ist, aber es reicht nicht. Also -hm ok- wenn Deine Quellcodes 'für die Zukunft' (64-Bit) unbrauchbar werden sollen- ok.^^ Du kannst das ja bei BOOL oder UINT machen, bei DWORD ist es aber wieder was anderes, da kann sich was ändern.



  • da faellt mir ein - ich hab doch daheim ein dual AMD 64bit cpu - da koennte ich testweise ja mal ein zweites 64bit windows installieren und tests fahren #gg

    bzgl einfaerben - also ich mach nicht alles bunt, wenn dann vielmehr diese schluesselworte wie DWORD oder UINT sowie LPARAM oder WPARAM - diese wuerd ich aufaerben wollen

    amsonsten reicht das, bin doch nicht bei den teletubbies #gg

    egal - ich mach feierabend q:


Anmelden zum Antworten