Конференция "WinAPI" » MessageBox c произвольным набором кнопок
 
  • ksergey © (06.10.14 21:49) [0]
    Есть ли для MessageBox или подобной стандартной WinAPI функции, выводящей диалог с кнопками, делать произвольный набор кнопок?

    Задача вот откуда: хочется сделать нормально русифицированную замену дельфовой MessageDlg с тем же интерфейом, но у MessageDlg набор кнопок задается произвольно, а у MessageBox есть только предопределённые вариации состава кнопок.

    Если ли аналог MessageBox, но с произвольно задаваемыми кнопками? то, что состав кнопок MessageBox покрывает все нормальные варианты - я понимаю, но мне нужно сделать аналог MessageDlg по программному интерфейсу с локализуемыми надписями на кнопках, как это волшебно делается в MessageBox
  • Pavia © (06.10.14 22:32) [1]
    MessageBox c произвольным набором кнопок называется форма. Просто дорабатываешь конструктор как тебе надо.
    TMyForm.Create(MyCaption,MyMassage,MyButtonCaption);
  • ksergey © (07.10.14 22:18) [2]
    У MessageBox есть прикольная фица: стандартный вид и волшебная локализация...

    Ну что ж, нет так нет.
  • DVM © (07.10.14 23:56) [3]

    > ksergey ©   (06.10.14 21:49) 

    TaskDialog более гибок, но только для Vista и новее
  • KSergey © (08.10.14 16:58) [4]
    О, не знал про такой
    Спасибо
  • KSergey © (08.10.14 17:01) [5]
    Еще подумалось
    А может есть стандартный способ прямо из Windows получить локализованные строки для стандартных кнопок Ok / Cancel / Yes / No и т.п.?
    Сами строки в виде текста
  • DVM © (08.10.14 22:26) [6]

    > А может есть стандартный способ прямо из Windows получить
    > локализованные строки

    есть конечно
  • KSergey © (13.10.14 12:27) [7]
    Поделитесь, плиз, способом
  • KSergey © (16.10.14 14:53) [8]
    "Сие тайна великая есть".

    За запрос в гугль с подходящими результатами буду очень признателен, мне не удалось найти.
  • DVM © (17.10.14 17:11) [9]

    > KSergey ©   (16.10.14 14:53) [8]


    > За запрос в гугль с подходящими результатами буду очень
    > признателен, мне не удалось найти.

    плохо искал, даже на этом сайте есть: http://www.delphimaster.net/view/2-1198043861/all

    Если коротко, то все интересующие тебя строковые ресурсы лежат в user32.dll
    Достаются функцией LoadString() http://msdn.microsoft.com/ru-ru/library/windows/desktop/ms647486(v=vs.85).aspx
    Открой в любом редакторе, который может посмотреть ресурсы внутри исполняемого файла (например, встроенным VisualStudio или ResourceHacker каким нибудь и поищи нужное тебе). Строки от MessageBox пасутся в районе 800 индекса.

    801 - "Cancel"
    805 - "Yes"
    и т.д.
 
Конференция "WinAPI" » MessageBox c произвольным набором кнопок
Есть новые Нет новых   [134427   +34][b:0][p:0]