Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MessageDlg, поменять подписи 
V
    Опции темы
Lim4
Дата 22.4.2009, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не под ковром
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 4.7.2008

Репутация: нет
Всего: 7



Возможно ли поменять стандартные подписи "Confirm", "Ok", "Cancel" на свои "Внимание", "Да", "Нет"? Что и где нужно прописать? Пока использую так:
Код

void __fastcall TForm1::SpBAClick(TObject *Sender)
{
if (MessageDlg("Вы действительно хотите...?",mtConfirmation,TMsgDlgButtons() << mbOK<<mbCancel,0)==mrOk)
{
}
 

И получается:
user posted image
PM MAIL   Вверх
mrbrooks
Дата 22.4.2009, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Lim4, по большому счету это все стандартные диалоговые окна со стандартными возможностями.
Выход:
1.  Сделать свое.
2.  Попробывать отлавливать хенл диалогового окна и собственно его контролов, с последующим изменение их меток.
PM MAIL   Вверх
Alca
Дата 22.4.2009, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Код

#include <windows.h>
#include <tchar.h>

TCHAR szContents[] = _T("Windows will now wipe your harddisk!");
TCHAR szTitle[]    = _T("Hello");

HHOOK hMsgBoxHook;

LRESULT CALLBACK CBTProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    TCHAR ach[40];
    HWND hwnd;
    HWND hwndButton;

    if(nCode < 0)
        return CallNextHookEx(hMsgBoxHook, nCode, wParam, lParam);

    switch(nCode)
    {
    case HCBT_ACTIVATE:

        // Get handle to the message box!
        hwnd = (HWND)wParam;

        SetWindowText(hwnd, _T("Message from Bill"));

        hwndButton = GetDlgItem(hwnd, IDOK);
        SetWindowText(hwndButton, _T("Thankyou"));
        
        return 0;

    }

    return CallNextHookEx(hMsgBoxHook, nCode, wParam, lParam);
}


int MsgBoxEx(HWND hwnd, TCHAR *szText, TCHAR *szCaption, UINT uType)
{
    int retval;

    // Install a window hook, so we can intercept the message-box
    // creation, and customize it
    hMsgBoxHook = SetWindowsHookEx(
        WH_CBT, 
        CBTProc, 
        NULL, 
        GetCurrentThreadId()            // Only install for THIS thread!!!
        );

    // Display a standard message box
    retval = MessageBox(hwnd, szText, szCaption, uType);

    // remove the window hook
    UnhookWindowsHookEx(hMsgBoxHook);

    return retval;
}


int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmdLine, int nShowCmd)
{
    // Just display a standard message box.
    // It doesn't matter that we have no parent window or a
    // message-loop, because MessageBox has it's own message loop.

    MsgBoxEx(NULL, szContents, szTitle, MB_OK | MB_ICONSTOP);
        
    return 0;
}



--------------------
PM WWW ICQ Skype Jabber   Вверх
artsb
Дата 22.4.2009, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



А чем MessageBox не устраивает? Там всё по-русски smile

Это сообщение отредактировал(а) artsb - 22.4.2009, 15:19


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
mrbrooks
Дата 22.4.2009, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(artsb @  22.4.2009,  15:18 Найти цитируемый пост)
А чем MessageBox не устраивает? Там всё по-русски

я так понял автор хочет от себя что нибудь добавить в диалоги - типа "Жми", "Не хочу", "Катит", "Не катит" и т.п.
PM MAIL   Вверх
artsb
Дата 22.4.2009, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Цитата(mrbrooks @  22.4.2009,  15:21 Найти цитируемый пост)
я так понял автор хочет от себя что нибудь добавить в диалоги - типа "Жми", "Не хочу", "Катит", "Не катит" и т.п. 

 smile

Добавлено через 1 минуту и 20 секунд
Тогда уж:
Цитата(mrbrooks @  22.4.2009,  13:37 Найти цитируемый пост)
1.  Сделать свое.




--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Alca
Дата 22.4.2009, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Цитата

Сделать свое.

В билдере будет проще. smile 
Если без VCL, то вешай хук.


--------------------
PM WWW ICQ Skype Jabber   Вверх
xvr
Дата 23.4.2009, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(mrbrooks @ 22.4.2009,  15:21)
я так понял автор хочет от себя что нибудь добавить в диалоги - типа "Жми", "Не хочу", "Катит", "Не катит" и т.п.

 smile 
Русифицировать хочет подругому. Вместо Abort/Retry/Ignore написать Нафиг/Нефиг/Пофиг

PM MAIL   Вверх
Lim4
Дата 29.4.2009, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не под ковром
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 4.7.2008

Репутация: нет
Всего: 7



 smile Я хотела русифицировать, без всяких там жаргонных тем, не нааааадо приводить за меня примеры smile 
Раз всё так нетривиально, буду использовать TApplication->MessageBox.  Не знала про него, а подсказать, кроме вас, некому. smile 
Alca,  спасибо за примеры, интересно было разобраться, но действительно быстрее будет сделать  MessageBox.
P.S. 
Цитата

TCHAR szContents[] = _T("Windows will now wipe your harddisk!");
  smile  нужно будет взять на заметку и пугать бедных бухов.
PM MAIL   Вверх
Alca
Дата 1.5.2009, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



http://ru.wikipedia.org/wiki/MessageBox
messagebox.c
MessageBoxEx

Добавлено через 1 минуту и 37 секунд
Locale Identifier Constants and Strings

Это сообщение отредактировал(а) Alca - 1.5.2009, 12:43


--------------------
PM WWW ICQ Skype Jabber   Вверх
Alca
Дата 1.5.2009, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50





--------------------
PM WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0640 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.