Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
#1

Макросы, win32 API - C++

12.04.2011, 22:47. Просмотров 1365. Ответов 10
Метки нет (Все метки)

Создал проект Win32 API. В файле resource.h есть макросы на кнопки управления, диалоговые окна, картинки и т.д.
Сменил у некоторых макросов значения для своего удобства , причем значения не совпадают с другими макросами.
Кнопки, связанные с этими макросами, перестали работать.

Что думаете?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2011, 22:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Макросы, win32 API (C++):

С++ Win32 API - C++
Подскажите книгу с самым доступным объяснением по данной теме. Что-то в роде "С++ за 21 день" только по Win32. Для чайников так сказать......

Книжки Win32 API на с++ - C++
Доброго времени суток! Нам в универе на лабораторные работы задают задание, написать консольную програмку с использованием win32 api. И...

Исходники Win32 Api - C++
У кого есть свои или знаете где их взять прошу скиньте ссылку. Книг хороших куча, но нужен самый простой шаблон с прямоугольником, что бы я...

mdi в win32 api - C++
mdi в win32 api Хочу для удобстава сделать мбди приложение, но пробовал по разному WS_CHILD ставил (для дочерний) а родителем...

Win32 API Работа с процессами - C++
Господа, здравствуйте! Я новичок в программировании, помогите пожалуйста в программе, не знаю как сделать. Мне нужно реализовать...

Буфер обмена win32 api - C++
Доброе время суток. Подскажите пожалуйсто как пользоваться буфером обмена. Мне нужно копировать, вырезать, вставлять текст.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cilin
1 / 1 / 0
Регистрация: 02.02.2011
Сообщений: 26
12.04.2011, 23:02 #2
Ну как минимум что бы думать надо видеть. Как правило когда что то меняю сам ошибаюсь в букве или чем либо потом проверяешь и ах.
1
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
12.04.2011, 23:08  [ТС] #3
Я менял только значения и местоположение макросов. Больше ничего не трогал.
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
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by example.rc
//
#define IDD_ABOUTBOX                    130
#define IDC_MYICON                      2
#define IDD_MY_DIALOG                   102   //
#define IDS_APP_TITLE                   103   //
#define IDM_ABOUT                       104   
#define IDM_EXIT                        105   //
#define IDM_INFO                        106   //
#define IDI_MY                          107   //
#define IDI_SMALL                       108   //
#define IDC_MY                          109   //
#define IDR_MAINFRAME                   128   //
#define IDD_INFO                        129   // Окно "Информация о специалисте"
#define IDC_LIST1                       1000  // выбор специалиста
#define IDC_OUT_SPEC                    1001  // специальность
#define IDC_OUT_FAM                     1002  // фамилия специалиста
#define IDC_OUT_LET                     1003  // возраст
#define IDC_OUT_POL                     1004  // пол
#define IDC_OUT_STAJ                    1005  // стаж работы
#define IDC_OUT_YAZ                     1006  // владение языком
#define IDC_OUT_VLAD                    1007  // владение компьютером
#define IDC_OUT_DELETE                  1013  // пометка на удаление
#define IDC_ADD_INFO                    1008  // добавить информацию о специалисте
#define IDC_CHANGE_INFO                 1009  // изменить информацию о специалисте
#define IDC_ADD_DELETE_INFO             1010  // поставить\снять пометку на удаление
#define IDC_DELETE_INFO                 1011  // удалить отмеченные
#define IDC_CHECK_INFO                  1012  // Подбор специалиста
#define ID_SER_FEO                      32777 
#define ID_JELT_BEJ                     32778 
#define ID_KRAS_SIN                     32779 
#define ID_ZEL_CHER                     32780 
 
#define IDC_STATIC                      -1
 
// Next default values for new objects
// 
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC                     1
#define _APS_NEXT_RESOURCE_VALUE        130
#define _APS_NEXT_COMMAND_VALUE         32784
#define _APS_NEXT_CONTROL_VALUE         1015
#define _APS_NEXT_SYMED_VALUE           110
#endif
#endif
0
Digit@ll
Brainsbreaker
884 / 362 / 31
Регистрация: 01.02.2011
Сообщений: 1,584
13.04.2011, 01:51 #4
Цитата Сообщение от Chelioss Посмотреть сообщение
Кнопки, связанные с этими макросами, перестали работать.
Естественно, переопределяй теперь все бывшие значения на новые в самой программе.
Подключай кнопки заново...
1
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
13.04.2011, 02:27  [ТС] #5
Придется кнопкам давать идентификаторы заново.
Но я так и не понял причину. Вероятно, что эти значения для макросов прописывались где-то еще, поэтому недостаточно изменить их только в файле resource.h. Другие варианты причин проблем не вижу(
0
Digit@ll
Brainsbreaker
884 / 362 / 31
Регистрация: 01.02.2011
Сообщений: 1,584
13.04.2011, 02:54 #6
Во ты даешь.)) Какие проблемы? Надобавлял наверно лишнего и не подключил то, что добавлял. Компилятор молчит - значит все норм. Проблемы буду тогда, когда ты с компилятором не сможешь договориться.
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
13.04.2011, 19:01  [ТС] #7
Цитата Сообщение от Digit@ll Посмотреть сообщение
Во ты даешь.)) Какие проблемы? Надобавлял наверно лишнего и не подключил то, что добавлял. Компилятор молчит - значит все норм. Проблемы буду тогда, когда ты с компилятором не сможешь договориться.
Ничего не добовлял.
Пример, если вам не понятно:
было
#define IDM_ABOUT 123
#define IDC_OUT_INFO 1334
стало
#define IDC_OUT_INFO 127
#define IDM_ABOUT 1235

Вот такие действия я проделал, больше ничего не трогал. На кнопках стоят те же идентификаторы. В обработчике сообщение тоже все в порядке.

наверно
Вот не надо гадать. Я в третьем сообщении в этой теме написал, что ничего кроме двух действий не делал.

Добавлено через 2 минуты
Сейчас создал новый проект вин32 API. Изменил только значение макроса IDM_ABOUT для кнопки "О программе" и кнопка перестала работать. Поставил старое значение для макроса и кнопка заработала!
0
easybudda
13.04.2011, 19:14
  #8

Не по теме:

Цитата Сообщение от Chelioss Посмотреть сообщение
Сменил у некоторых макросов значения для своего удобства
Забивать шурупы молотком значительно удобнее, чем заворачивать гвозди отвёрткой!
(с)
Просто из любопытства - Вы с какой целью вообще эти значения менять стали? Чем Вам символические имена не угодили?

0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
13.04.2011, 19:23  [ТС] #9
Цитата Сообщение от easybudda Посмотреть сообщение

Не по теме:


(с)
Просто из любопытства - Вы с какой целью вообще эти значения менять стали? Чем Вам символические имена не угодили?

Чтобы было удобно для глаз)
Дело не в решении проблемы(решении проблемы знаю), а в том, что интересно, почему кнопки перестали работать?
0
Digit@ll
Brainsbreaker
884 / 362 / 31
Регистрация: 01.02.2011
Сообщений: 1,584
14.04.2011, 09:10 #10
Сделай Rebuild All.
1
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
14.04.2011, 22:13  [ТС] #11
Цитата Сообщение от Digit@ll Посмотреть сообщение
Сделай Rebuild All.
Спасибо, помогло!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2011, 22:13
Привет! Вот еще темы с ответами:

Win32 API vs MFC vs .NET - C++
Что это такое, чем они отличаются и что сейчас лучше учить?

Проигрывание CD с помощью Win32 API - C++
hi надо прослушать music cd так|| не получается играет не очень правильно!что не так? || || ...

Временные диалоги Win32 API - C++
Во общем в Win32API я полный ноль, да и изучать мы его будем очень поврхностно и изучение закончится после сдачи заданий )), нам дали всего...

Win32 API, LRESULT CALLBACK, ошибки - C++
Помогите исправить ошибки #include<windows.h> #include<commctrl.h> const IDM_Enable_Disable=0; const IDM_Exit=1; const...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.04.2011, 22:13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru