Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 16

Связь между комбинированными списками

04.05.2013, 18:30. Показов 1003. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
пишу ргр:
В четырех комбинированных списках панели находятся фамилии, имена и отчества сотрудников и номера их телефонов. При выборе в любом списке (например, в списке фамилий) обеспечить выбор соответствующих данных в остальных списках. После нажатия клавиши ОК в заголовке окна - владельца панели отобразить данные сотрудника.

Вот что написал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 #include <windows.h>
 #include <tchar.h>
 
#define ID_EDIT 1000
#define ID_COMBO 1001
#define ID_COMBO1 1001
#define ID_COMBO2 1001
#define ID_COMBO3 1001
 
BOOL RegClass(WNDPROC,LPCTSTR,UINT);
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE hInstance;
TCHAR szClassName[]=_T("Главное окно");
 
BOOL RegClass(WNDPROC Proc,LPCTSTR szName, UINT brBakcground)
{
    WNDCLASS wc; wc.style=wc.cbClsExtra=wc.cbWndExtra=0;
    wc.lpfnWndProc=Proc; wc.hInstance=hInstance;
    wc.hIcon=LoadIcon(NULL,IDI_ASTERISK);
    wc.hCursor=LoadCursor(NULL,IDC_ARROW);
    wc.hbrBackground=(HBRUSH)CreateSolidBrush(RGB(50,100,255));
    wc.lpszMenuName=(LPCTSTR)NULL;
    wc.lpszClassName=szName;
    return (RegisterClass(&wc)!=0);
}
 
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInstance,LPSTR lpszCmdLine,int nCmdShow)
{
    MSG msg; HWND hwnd; hInstance=hInst;
    if(!RegClass(WndProc,szClassName,COLOR_WINDOW))
        return FALSE;
    hwnd=CreateWindow(szClassName,_T("RGR-2 create by Свиридов Вадим"),
        WS_OVERLAPPEDWINDOW|WS_VISIBLE,0,0,1000,600,
        0,0,hInstance,NULL);
        if(!hwnd) return FALSE;
    while(GetMessage(&msg,0,0,0)) DispatchMessage(&msg);
    return msg.wParam;
}
 
 
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    int uItem;
    char Buf[80];
    HWND name_box,otc_box, famil_box, num_box,hStatic;
    TCHAR famil[]=_T("Cвиридов"),famil1[]=_T("Ботев"),famil2[]=_T("Гарганчук"),famil3[]=_T("Кузенков"),famil4[]=_T("Антропович"),famil5[]=_T("Титовец"),famil6[]=_T("Маньков");
    TCHAR name[]=_T("Вадим"),name1[]=_T("Алексей"),name2[]=_T("Владик"),name3[]=_T("Александр"),name4[]=_T("Алексей"),name5[]=_T("Дмитрий"), name6[]=_T("Антон");
    switch (msg)
    {
        case WM_CREATE:
            {
                num_box=CreateWindow(_T("ComboBox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_SIMPLE,660,30, 200, 200, hwnd, (HMENU) ID_COMBO,hInstance, NULL);
                otc_box = CreateWindow(_T("ComboBox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_SIMPLE, 450,30, 200, 200, hwnd, (HMENU) ID_COMBO1,hInstance, NULL);
                name_box= CreateWindow(_T("ComboBox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_SIMPLE, 240,30, 200, 200, hwnd, (HMENU) ID_COMBO2,hInstance, NULL);
                famil_box= CreateWindow(_T("ComboBox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_SIMPLE, 30,30, 200, 200, hwnd, (HMENU)ID_COMBO,hInstance, NULL);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil);  SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil1); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name1);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil2); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name2);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil3); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name3);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil4); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name4);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil5); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name5);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil6); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name6);
                return 0;
            }
                
        case WM_DESTROY:
            {
                PostQuitMessage(0); 
                return 0;
            }
        default:return DefWindowProc(hwnd,msg,wParam,lParam);
    }    
}
Не могу понять почему над списков строка, в нее нельзя ничего вводить, но должно же работать как поисковая строка вроде. И как организовать так что при выборе фамилии выделялись имя и т.д.?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2013, 18:30
Ответы с готовыми решениями:

Связь между полями со списками.
Здраствуйте, уважаемые форумчане! Помогите, пожалуйста решить такую каверзную задачку! Дана таблица с двумя колонками Колонка1 и...

Связь между двумя списками
Добрейших суток, знатоки. Подскажите, такую вещь, пожалуйста. Есть поле со списком 'Классы', где хранятся названия класса и есть...

Создать связь между списками List<>
Создать связь между списками List&lt;&gt;, как будто это две таблицы связанные по ключам. Например: class Phone { public...

9
 Аватар для FreeMan108
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
05.05.2013, 13:03
Замени

C++
1
while(GetMessage(&msg,0,0,0)) DispatchMessage(&msg);
На

C++
1
2
3
4
5
    while (GetMessage (&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
1
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 16
05.05.2013, 19:31  [ТС]
Почти сделал теперь проблемма с строкой. криво выводяться даннные .
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
#include <windows.h>
#include <tchar.h>
#include <string.h>
 
#define ID_COMBO 1000
#define ID_COMBO1 1001
#define ID_COMBO2 1002
#define ID_COMBO3 1003
#define ID_BUTTON 1004
 
BOOL RegClass(WNDPROC,LPCTSTR,UINT);
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE hInstance;
TCHAR szClassName[]=_T("Главное окно");
TCHAR szTitle[] = _T("Работа с комбинированным списком");
BOOL RegClass(WNDPROC Proc,LPCTSTR szName, UINT brBakcground)
{
    WNDCLASS wc; wc.style=wc.cbClsExtra=wc.cbWndExtra=0;
    wc.lpfnWndProc=Proc; wc.hInstance=hInstance;
    wc.hIcon=LoadIcon(NULL,IDI_ASTERISK);
    wc.hCursor=LoadCursor(NULL,IDC_ARROW);
    wc.hbrBackground=(HBRUSH)CreateSolidBrush(RGB(50,100,255));
    wc.lpszMenuName=(LPCTSTR)NULL;
    wc.lpszClassName=szName;
    return (RegisterClass(&wc)!=0);
}
 
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInstance,LPSTR lpszCmdLine,int nCmdShow)
{
    MSG msg; HWND hwnd; hInstance=hInst;
    if(!RegClass(WndProc,szClassName,COLOR_WINDOW))
        return FALSE;
    hwnd=CreateWindow(szClassName,_T("RGR-2 create by Свиридов Вадим"),
        WS_OVERLAPPEDWINDOW|WS_VISIBLE,0,0,1000,600,
        0,0,hInstance,NULL);
        if(!hwnd) return FALSE;
    while(GetMessage(&msg,0,0,0)) 
    {
        DispatchMessage(&msg);
        TranslateMessage(&msg);
    }
    return msg.wParam;
}
 
 
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    int x,y;
    
    static HWND name_box,otc_box, famil_box, num_box,hButton;
    TCHAR famil[]=_T("Cвиридов"),famil1[]=_T("Ботев"),famil2[]=_T("Гарганчук"),famil3[]=_T("Кузенков"),famil4[]=_T("Антропович"),famil5[]=_T("Титовец"),famil6[]=_T("Маньков");
    TCHAR name[]=_T("Вадим"),name1[]=_T("Алексей"),name2[]=_T("Владислав"),name3[]=_T("Александр"),name4[]=_T("Алексей"),name5[]=_T("Дмитрий"), name6[]=_T("Антон");
    TCHAR otc[]=_T("Андреевич"),otc1[]=_T("Иванович"),otc2[]=_T("Владимирович"),otc3[]=_T("Александрович"),otc4[]=_T("Александрович"),otc5[]=_T("Антонович"), otc6[]=_T("Дмитриевич");
    TCHAR num[]=_T("89529639694"), num1[]=_T("89559639794"), num2 []=_T("89109634658"), num3 []=_T("89104630694"), num4  []=_T("8952923458"), num5 []= _T("89525823649"), num6 []=_T("89158624567");
    switch (msg)
    {
        case WM_CREATE:
            {
                hButton = CreateWindow(_T("button"), _T("OK"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 130, 290,100, 30, hwnd,(HMENU)ID_BUTTON,hInstance,NULL);
                num_box=CreateWindow(_T("ComboBox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_SIMPLE,660,30, 200, 200, hwnd, (HMENU) ID_COMBO,hInstance, NULL);
                otc_box = CreateWindow(_T("ComboBox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_SIMPLE, 450,30, 200, 200, hwnd, (HMENU) ID_COMBO1,hInstance, NULL);
                name_box= CreateWindow(_T("ComboBox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_SIMPLE, 240,30, 200, 200, hwnd, (HMENU) ID_COMBO2,hInstance, NULL);
                famil_box= CreateWindow(_T("ComboBox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_SIMPLE, 30,30, 200, 200, hwnd, (HMENU)ID_COMBO3,hInstance, NULL);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil ); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name ); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc ); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num );
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil1); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name1); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc1); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num1);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil2); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name2); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc2); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num2);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil3); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name3); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc3); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num3);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil4); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name4); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc4); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num4);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil5); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name5); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc5); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num5);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil6); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name6); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc6); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num6);
                return 0;
            }break;
        case WM_COMMAND:
            {
                switch (LOWORD(wParam)) 
                {
                    case ID_COMBO: //num
                        { 
                            switch (HIWORD(wParam)) 
                            {
        
                                case CBN_SELENDOK: 
                                    {
                                        x=SendMessage(num_box,CB_GETCURSEL,0,0L);
                                        SendMessage(name_box,CB_SETCURSEL,x,0L);
                                        SendMessage(otc_box,CB_SETCURSEL,x,0L);
                                        SendMessage(famil_box,CB_SETCURSEL,x,0L);
                                        y=1;
                                        return 0;
                                    }
                                default: return 0;
                            }
                        }return 0;
                    case ID_COMBO1://otchesto
                        { 
                            switch (HIWORD(wParam)) 
                            {
        
                                case CBN_SELENDOK: 
                                    {
                                        x=SendMessage(otc_box,CB_GETCURSEL,0,0L);
                                        SendMessage(famil_box,CB_SETCURSEL,x,0L);
                                        SendMessage(name_box,CB_SETCURSEL,x,0L);
                                        SendMessage(num_box,CB_SETCURSEL,x,0L);
                                        return 0;
                                    }
                                default: return 0;
                            }
                        }return 0;  
                        case ID_COMBO2://name
                        { 
                            switch (HIWORD(wParam)) 
                            {
        
                                case CBN_SELENDOK: 
                                    {
                                        x=SendMessage(name_box,CB_GETCURSEL,0,0L);
                                        SendMessage(famil_box,CB_SETCURSEL,x,0L);
                                        SendMessage(otc_box,CB_SETCURSEL,x,0L);
                                        SendMessage(num_box,CB_SETCURSEL,x,0L);
                                        y=1;
                                        return 0;
                                    }
                                default: return 0;
                            }
                        }return 0;
 
                        case ID_COMBO3://famil
                        { 
                            switch (HIWORD(wParam)) 
                            {
        
                                case CBN_SELENDOK: 
                                    {
                                        x=SendMessage(famil_box,CB_GETCURSEL,0,0L);
                                        SendMessage(name_box,CB_SETCURSEL,x,0L);
                                        SendMessage(otc_box,CB_SETCURSEL,x,0L);
                                        SendMessage(num_box,CB_SETCURSEL,x,0L);
                                        return 0;
                                    }
                                default: return 0;
                            }
                        }return 0;
                        case ID_BUTTON:
                            { 
                                char fa[20] ,na[9],ot[20],nu[20];
                                x=SendMessage(famil_box,CB_GETCURSEL,0,0L);
                                SendMessage(name_box,CB_GETLBTEXT,x,(LPARAM)na);
                                SendMessage(famil_box,CB_GETLBTEXT,x,(LPARAM)fa);
                                SendMessage(otc_box,CB_GETLBTEXT,x,(LPARAM)ot);
                                SendMessage(num_box,CB_GETLBTEXT,x,(LPARAM)nu);
 
                                
                                char buf[330] = { NULL };
                                
                                strcat_s(buf,na);
                                strcat_s(buf," ");
                                strcat_s(buf,ot);
                                strcat_s(buf," ");
                                strcat_s(buf,fa);
                                strcat_s(buf," ");
                                strcat_s(buf,nu);                       
                                MessageBox(hwnd,(LPWSTR)buf, szTitle,MB_OK);
                                
                                return 0; 
                            } 
                        default:return 0;           
                }
            }break;
 
        case WM_DESTROY:
            {
                
                PostQuitMessage(0); 
                return 0;
            }
        default:return DefWindowProc(hwnd,msg,wParam,lParam);
    }    
}
0
 Аватар для FreeMan108
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
05.05.2013, 20:28
В смысле? Вроде всё работает.
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 16
05.05.2013, 20:44  [ТС]
После нажатия на кнопку ок. Вывадит не то . Надо чтобы фио и номер высвечивался а выводи мусор вперемешку с фио
0
 Аватар для FreeMan108
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
05.05.2013, 23:14
Всё работает правильно



Хотя если элемент в каком-то списке не выбран, то программа поведёт себя неправильно



Чтобы это исправить, вы можете при нажатии кнопки Ok, проверить состояния всех списков.
1
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 16
05.05.2013, 23:32  [ТС]
А у меня шлак выводился.
Вот они пртчуды программирования
0
 Аватар для FreeMan108
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
06.05.2013, 12:48
Попробуйте так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
#include <windows.h>
#include <tchar.h>
#include <string.h>
 
#define ID_COMBO 1000
#define ID_COMBO1 1001
#define ID_COMBO2 1002
#define ID_COMBO3 1003
#define ID_BUTTON 1004
 
BOOL RegClass(WNDPROC,LPCTSTR,UINT);
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE hInstance;
TCHAR szClassName[]=_T("Ãëàâíîå îêíî");
TCHAR szTitle[] = _T("Ðàáîòà ñ êîìáèíèðîâàííûì ñïèñêîì");
BOOL RegClass(WNDPROC Proc,LPCTSTR szName, UINT brBakcground)
{
    WNDCLASS wc; wc.style=wc.cbClsExtra=wc.cbWndExtra=0;
    wc.lpfnWndProc=Proc; wc.hInstance=hInstance;
    wc.hIcon=LoadIcon(NULL,IDI_ASTERISK);
    wc.hCursor=LoadCursor(NULL,IDC_ARROW);
    wc.hbrBackground=(HBRUSH)CreateSolidBrush(RGB(50,100,255));
    wc.lpszMenuName=(LPCTSTR)NULL;
    wc.lpszClassName=szName;
    return (RegisterClass(&wc)!=0);
}
 
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInstance,LPSTR lpszCmdLine,int nCmdShow)
{
    MSG msg; HWND hwnd; hInstance=hInst;
    if(!RegClass(WndProc,szClassName,COLOR_WINDOW))
        return FALSE;
    hwnd=CreateWindow(szClassName,_T("RGR-2 create by Ñâèðèäîâ Âàäèì"),
        WS_OVERLAPPEDWINDOW|WS_VISIBLE,0,0,1000,600,
        0,0,hInstance,NULL);
        if(!hwnd) return FALSE;
    while(GetMessage(&msg,0,0,0)) 
    {
        DispatchMessage(&msg);
        TranslateMessage(&msg);
    }
    return msg.wParam;
}
 
 
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    int x,y;
    
    static HWND name_box,otc_box, famil_box, num_box,hButton;
    TCHAR famil[]=_T("Câèðèäîâ"),famil1[]=_T("Áîòåâ"),famil2[]=_T("Ãàðãàí÷óê"),famil3[]=_T("Êóçåíêîâ"),famil4[]=_T("Àíòðîïîâè÷"),famil5[]=_T("Òèòîâåö"),famil6[]=_T("Ìàíüêîâ");
    TCHAR name[]=_T("Âàäèì"),name1[]=_T("Àëåêñåé"),name2[]=_T("Âëàäèñëàâ"),name3[]=_T("Àëåêñàíäð"),name4[]=_T("Àëåêñåé"),name5[]=_T("Äìèòðèé"), name6[]=_T("Àíòîí");
    TCHAR otc[]=_T("Àíäðååâè÷"),otc1[]=_T("Èâàíîâè÷"),otc2[]=_T("Âëàäèìèðîâè÷"),otc3[]=_T("Àëåêñàíäðîâè÷"),otc4[]=_T("Àëåêñàíäðîâè÷"),otc5[]=_T("Àíòîíîâè÷"), otc6[]=_T("Äìèòðèåâè÷");
    TCHAR num[]=_T("89529639694"), num1[]=_T("89559639794"), num2 []=_T("89109634658"), num3 []=_T("89104630694"), num4  []=_T("8952923458"), num5 []= _T("89525823649"), num6 []=_T("89158624567");
    switch (msg)
    {
        case WM_CREATE:
            {
                hButton = CreateWindow(_T("button"), _T("OK"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 130, 290,100, 30, hwnd,(HMENU)ID_BUTTON,hInstance,NULL);
                num_box=CreateWindow(_T("ComboBox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_SIMPLE,660,30, 200, 200, hwnd, (HMENU) ID_COMBO,hInstance, NULL);
                otc_box = CreateWindow(_T("ComboBox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_SIMPLE, 450,30, 200, 200, hwnd, (HMENU) ID_COMBO1,hInstance, NULL);
                name_box= CreateWindow(_T("ComboBox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_SIMPLE, 240,30, 200, 200, hwnd, (HMENU) ID_COMBO2,hInstance, NULL);
                famil_box= CreateWindow(_T("ComboBox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_SIMPLE, 30,30, 200, 200, hwnd, (HMENU)ID_COMBO3,hInstance, NULL);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil ); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name ); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc ); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num );
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil1); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name1); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc1); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num1);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil2); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name2); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc2); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num2);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil3); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name3); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc3); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num3);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil4); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name4); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc4); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num4);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil5); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name5); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc5); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num5);
                SendMessage(famil_box,CB_ADDSTRING,0,(LPARAM)famil6); SendMessage(name_box,CB_ADDSTRING,0,(LPARAM)name6); SendMessage(otc_box,CB_ADDSTRING,0,(LPARAM)otc6); SendMessage(num_box,CB_ADDSTRING,0,(LPARAM)num6);
                return 0;
            }break;
        case WM_COMMAND:
            {
                switch (LOWORD(wParam)) 
                {
                    case ID_COMBO: //num
                        { 
                            switch (HIWORD(wParam)) 
                            {
        
                                case CBN_SELENDOK: 
                                    {
                                        x=SendMessage(num_box,CB_GETCURSEL,0,0L);
                                        SendMessage(name_box,CB_SETCURSEL,x,0L);
                                        SendMessage(otc_box,CB_SETCURSEL,x,0L);
                                        SendMessage(famil_box,CB_SETCURSEL,x,0L);
                                        y=1;
                                        return 0;
                                    }
                                default: return 0;
                            }
                        }return 0;
                    case ID_COMBO1://otchesto
                        { 
                            switch (HIWORD(wParam)) 
                            {
        
                                case CBN_SELENDOK: 
                                    {
                                        x=SendMessage(otc_box,CB_GETCURSEL,0,0L);
                                        SendMessage(famil_box,CB_SETCURSEL,x,0L);
                                        SendMessage(name_box,CB_SETCURSEL,x,0L);
                                        SendMessage(num_box,CB_SETCURSEL,x,0L);
                                        return 0;
                                    }
                                default: return 0;
                            }
                        }return 0;  
                        case ID_COMBO2://name
                        { 
                            switch (HIWORD(wParam)) 
                            {
        
                                case CBN_SELENDOK: 
                                    {
                                        x=SendMessage(name_box,CB_GETCURSEL,0,0L);
                                        SendMessage(famil_box,CB_SETCURSEL,x,0L);
                                        SendMessage(otc_box,CB_SETCURSEL,x,0L);
                                        SendMessage(num_box,CB_SETCURSEL,x,0L);
                                        y=1;
                                        return 0;
                                    }
                                default: return 0;
                            }
                        }return 0;
 
                        case ID_COMBO3://famil
                        { 
                            switch (HIWORD(wParam)) 
                            {
        
                                case CBN_SELENDOK: 
                                    {
                                        x=SendMessage(famil_box,CB_GETCURSEL,0,0L);
                                        SendMessage(name_box,CB_SETCURSEL,x,0L);
                                        SendMessage(otc_box,CB_SETCURSEL,x,0L);
                                        SendMessage(num_box,CB_SETCURSEL,x,0L);
                                        return 0;
                                    }
                                default: return 0;
                            }
                        }return 0;
                        case ID_BUTTON:
                            { 
                                char fa[20] ,na[9],ot[20],nu[20];
                                x=SendMessage(famil_box,CB_GETCURSEL,0,0L);
                                SendMessage(name_box,CB_GETLBTEXT,x,(LPARAM)na);
                                SendMessage(famil_box,CB_GETLBTEXT,x,(LPARAM)fa);
                                SendMessage(otc_box,CB_GETLBTEXT,x,(LPARAM)ot);
                                SendMessage(num_box,CB_GETLBTEXT,x,(LPARAM)nu);
 
                                
                                char buf[330] = { 0 };
                                
                                strcat(buf,na);
                                strcat(buf," ");
                                strcat(buf,ot);
                                strcat(buf," ");
                                strcat(buf,fa);
                                strcat(buf," ");
                                strcat(buf,nu);                       
                                MessageBox(hwnd,buf, szTitle,MB_OK);
                                
                                return 0; 
                            } 
                        default:return 0;           
                }
            }break;
 
        case WM_DESTROY:
            {
                
                PostQuitMessage(0); 
                return 0;
            }
        default:return DefWindowProc(hwnd,msg,wParam,lParam);
    }    
}
Небольшие изменения 156 ст. - 160 ст.
Может поможет

Не по теме:


Не забывайте говорить спасибо, люди стараются для вас

1
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 16
07.05.2013, 23:57  [ТС]
Задача решена. Всем спасибо
0
 Аватар для FreeMan108
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
07.05.2013, 23:59
Пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.05.2013, 23:59
Помогаю со студенческими работами здесь

Создать любые две таблицы, установить между ними связь, и с помощью запроса показать эту связь
Короче такое задание. Создать любые две таблицы, установить между ними связь и с помощью запроса показать эту связь. Как это сделать?...

Перескакивание между списками QListView
Добрый день. Вопрос про QListView. Есть несколько списков,например 5 списков в ряд ну и еще второй ряд тоже 5 списков. По умолчанию...

Расстояние Хэмминга между двумя списками
Помогите пожалуйста написать программку: hamming(+List1,+List2,-HammingDistance), вычисляющую расстояние Хемминга между двумя...

Обмен числами между динамическими списками
Здравствуйте! Помогите пожалуйста. Есть такая задача, которую надо сделать отдельными процедурами для массивов и для линейных динамических...

Форма обратной связи со связанными между собой выпадающими списками
Добрый день, мне нужно сделать на wordpress форму со связанными между собой выпадающими списками. Т.е. в форме для примера будет два поля,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru