imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 08.11.2004, 08:14     # 1
Merlyel
Junior Member
 
Регистрация: 10.08.2003
Сообщения: 189

Merlyel Реально крут(а)Merlyel Реально крут(а)Merlyel Реально крут(а)Merlyel Реально крут(а)
Преобразование строки с ID кнопки в int

Можно ли как-нибудь преобразовать строку, которая содержит надпись, например, "ID_CLOSE" или WM_COMMAND (или другой ID кнопки, сообщения и т.д.) к int?
PS Уж извините за такое название темы
Merlyel вне форума  
Старый 09.11.2004, 01:34     # 2
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Jinx
Что-то как-то не понятно... это на чем пишется и для каких целей нужно это действие?? - по развернутей напиши...

Последний раз редактировалось /7y3uK; 09.11.2004 в 01:38.
/7y3uK вне форума  
Старый 09.11.2004, 14:29     # 3
SapeR
::VIP::
 
Регистрация: 17.12.2002
Адрес: Q-ata, Israel
Сообщения: 310

SapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царстве
за нефиг делать
посмотри на файл resource - там уже даны все номера
а если тебе охота определить ID по надписи на кнопке - беги по всем айтемам (от 1 до _APS_NEXT_RESOURCE_VALUE) и спрашивай GetWindowText (у валидных естественно). Найдёш текст - индекс айтема у тебя уже есть
SapeR вне форума  
Старый 10.11.2004, 18:42     # 4
mike00340
Guest
 
Сообщения: n/a

Это так называются #define
т.е.
#define WM_COMMAND 100
потом в тексте пишешь
int zzz=WM_COMMAND;
и все работает на ура!
 
Старый 13.11.2004, 03:53     # 5
Merlyel
Junior Member
 
Регистрация: 10.08.2003
Сообщения: 189

Merlyel Реально крут(а)Merlyel Реально крут(а)Merlyel Реально крут(а)Merlyel Реально крут(а)
Да мне просто интересно было, можно ли сделать такое:
есть строка, в ней записано "IDM_FA", теперь необходимо эту строку, так сказать, преобразовать в int, чтобы можно было реализовать такое:
switch (message)
{
case WM_COMMAND:
int Id= что-то делаем со строкой;
switch (Id)
{
case IDM_FA: ля-ля; break;
}
Merlyel вне форума  
Старый 17.11.2004, 00:25     # 6
SapeR
::VIP::
 
Регистрация: 17.12.2002
Адрес: Q-ata, Israel
Сообщения: 310

SapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царстве
Цитата:
строку, так сказать, преобразовать в int
Jinx, а это за тебя автоматом никто делать не будет
У меня на службе активно используется подобная фишка. Вот реализация:
Код:
enum enMsgID
{
    MSID_QUERY,
    MSID_ACTION,
    MSID_PAUSE,
    MSID_SHUTDOWN,
};

struct MsgType
{
    enMsgID MsgID;
    LPCTSTR MsgText;
};

MsgType IncommingMsg[] = {
    {MSID_QUERY, "Query"},
    {MSID_ACTION, "Action"},
    {MSID_PAUSE, "Pause"},
    {MSID_SHUTDOWN, "Shutdown"},
};

static int nNumOfMessages = sizeof(IncommingMsg) / sizeof(MsgType);

int GetMsgID(CString sMsgText)
{
    for (int i=0; i<nNumOfMessages; i++)
    {
        if (sMsgText == IncommingMsg[i].MsgText)
            return IncommingMsg[i].MsgID;
    }
    return -1;
}
и по ходу дела вызываю GetMsgID
SapeR вне форума  
Старый 21.11.2004, 03:14     # 7
Merlyel
Junior Member
 
Регистрация: 10.08.2003
Сообщения: 189

Merlyel Реально крут(а)Merlyel Реально крут(а)Merlyel Реально крут(а)Merlyel Реально крут(а)
Вот именно мне и было интересно, есть ли встроенный вариант такого действа
З.Ы. Твой вариант если что будем иметь в виду
Merlyel вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 20:41.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.