A
ein problem umgangen=zwei neue bekommen
*ziemlich cool, diese combobox-hydra *
ich hab mir alles, was ich hir im forum zum thema "combobox" gefunden habe, durchgelesen, und ich schwöre, dass mein problem nichts mit der grösse der combobox zu tun hat, im theForger's tutorial oder in der MSVC++ dokumentation habe ich leider auch nichts gefunden, womit ich mein problem lösen könnte, wenn das nur daran liegt, dass ich unfähig bin, schwarz auf weiß geschriebene information wahrzunehmen=asche uf mein haupt, aber das verfluchte combobox will nun mal nicht funktionieren
also, es sieht momentan in etwa so aus:
//DlgProc
BOOL CALLBACK DlgProc(/*standartparameter*/){
MyClass pMyObject=//pointer, der bei WM_INITDIALOG noch nicht definiert ist
switch(msg){
case WM_COMMAND:
if(pMyObject!=NULL){
switch((LOWORD)wParam){
case IDC_MYCOMBO:
switch((HIWORD)wParam){
case CBN_DROPDOWN:
FillComboBox(pMyObject); //pMyObject nötig um combobox zu füllen
}
}
}
}
und die FillComboBox() macht in etwa folgendes:
bool FillComboBox(MyClass *pMyObject){
//combobox leeeren, strings auf dem heap deleten
//empty combobox
int iItemCount=(int)(SendDlgItemMessage(hDlg, IDC_ADAPTER,
CB_GETCOUNT,0,0));
void* pItemData;
if(iItemCount!=CB_ERR){
for(int iItem=0; iItem<iItemCount; iItem++){
pItemData=(void*)(SendDlgItemMessage(hDlg, IDC_MYCOMBO,
CB_GETITEMDATA,0,0));
if(pItemData!=(void*)(CB_ERR)){ delete[] pItemData;
pItemData=NULL; }
//auch totaler bullshit, führt zu abstürzen, ist aber momentan
//nicht das problem N° 1
}
}
SendDlgItemMessage(hDlg, IDC_ADAPTER, CB_RESETCONTENT,0,0);
//end empty combobox
//combobox mit neuen items füllen
SendDlgItemMessage(hDlg, IDC_MYCOMBO, CB_ADDSTRING, 0,
(LPARAM)(pMyObject->GetInfoText()));
SendDlgItemMessage(hDlg, IDC_MYCOMBO, CB_ADDSTRING, 0,
(LPARAM)("THIS TEXT MUST APPEAR IN COMBOBOX!!!"));
return true;
}
auch wenn man den ganzen mist, der zu abstürzen führt, komplett auskommentiert, und die funktion nur noch auf die letzten zwei SendDlgItemMessage()-anweisungen reduziert, dann erscheint trotztdem gar nix im combobox, und ich raff nicht warum=was will diese combobox von mir??
muss man die liste irgendwie noch aktualisieren?
wenn man ResetContent weglässt, dann erscheinen diese Strings, aber erst wenn man die combobox mehrmals angeclickt hat, und dann lassen die sich eh nicht entfernen, sondern werden immer weiter angehängt...
ich weis, es nervt wahrscheinlich unheimlich, wenn da jeden tag solche noobs wie meine wenigkeit mit diesen combobox-problemen herumstressen, wäre aber trotzdem für jeden tipp und für jeden link sehr dankbar
mfg andrey