Этот код выводит (добавляет) текст в любой ListBox Вашей программы. Пояснять функции Printf и Print думаю не имеет смысла На вход функций подается ID ListBox и текст:
Код | void Print(UINT nID, char *Str,int Len); void Printf(UINT nID, const char *Format,...);
void Printf(UINT nID, const char *Format,...) { char Str[500]; va_list arg; va_start(arg,Format); wvsprintf(Str,Format,arg); va_end(arg); Print(nID,Str,strlen(Str)); }
void Print(UINT nID, char *Str,int Len) { char *PtrB,*PtrE;
{ //Parse Str for Search Control Symbols PtrB=PtrE=Str; while(*PtrE) { if(((*PtrE) == 0x0A) || ((*PtrE) == 0x0D)) { *PtrE=0; if(SendDlgItemMessage(nID,LB_ADDSTRING,0,(LPARAM)PtrB) == LB_ERRSPACE) { SendDlgItemMessage(nID,LB_DELETESTRING,0,0); SendDlgItemMessage(nID,LB_ADDSTRING,0,(LPARAM)PtrB); } PtrE++; if(((*PtrE) == 0x0A) || ((*PtrE) == 0x0D)) PtrE++; PtrB=PtrE; } else PtrE++; }
if(*PtrB) { if(SendDlgItemMessage(nID,LB_ADDSTRING,0,(LPARAM)PtrB) == LB_ERRSPACE) { SendDlgItemMessage(nID,LB_DELETESTRING,0,0); SendDlgItemMessage(nID,LB_ADDSTRING,0,(LPARAM)PtrB); } } } SendDlgItemMessage(nID,LB_SETTOPINDEX,SendDlgItemMessage(nID,LB_GETCOUNT,0,0)-1,0); }
|
Пишем в листбокс:
Код | Printf(IDC_LIST1, "Hello world..."); // IDC_LIST1 - ID листбокса №1 Printf(IDC_LIST2, "Hello world..."); // IDC_LIST2 - ID листбокса №2
|
|