Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];

Вниз

А картиночку на MessageBox прорисовать можно?   Найти похожие ветки 

 
koha ©   (2007-01-09 07:12) [0]

А картиночку на MessageBox прорисовать можно?


 
ЮЮ ©   (2007-01-09 07:50) [1]

Application.MessageBox("Получите!", "Вам картиночку?", MB_ICONQUESTION);
А так жк можно несколько кнопочек и любую из них - по умолчанию.


 
koha ©   (2007-01-09 08:03) [2]

Несовсем то..
надо диаог
Application.MessageBox("Получите!", "Вам картиночку?",MB_YESNO)
а иконку от MB_ICONWARNING


 
Джо ©   (2007-01-09 08:11) [3]

> [2] koha ©   (09.01.07 08:03)
> Несовсем то..
> надо диаог
> Application.MessageBox("Получите!", "Вам картиночку?",MB_YESNO)
>
> а иконку от MB_ICONWARNING

Application.MessageBox("Получите!", "Вам картиночку?",MB_YESNO or MB_ICONWARNING)


 
koha ©   (2007-01-09 08:12) [4]

Победил - таки  методом научного втыка
Диалог + юбая  Иконка, надо сделать так:

MessageBox(Handle, "Иконка и диалог "да" "Нет" ", "Внимание", MB_YESNO or MB_ICONWARNING );


 
koha ©   (2007-01-09 08:13) [5]

Долго шло мое сообщение, жаль.


 
Джо ©   (2007-01-09 08:34) [6]

> [4] koha ©   (09.01.07 08:12)
> Победил - таки  методом научного втыка

Странный подход долго и нудно тыкать, когда есть Справка.


 
palva ©   (2007-01-09 12:42) [7]

Справка - последнее дело.
Сначала нужно тыкать, потом спросить у соседа, потом спросить на форуме, потом поискать в интернете. И уж если все равно не работает, читать справку.


 
Anatoly Podgoretsky ©   (2007-01-09 14:17) [8]

> palva  (09.01.2007 12:42:07)  [7]

Нормальные герои всегда идут в обход.


 
koha ©   (2007-01-10 00:36) [9]

- А алгоритм моего поиска решения задачи не совсем верный, который вы представили. Все вовсе не так и было. Сперва я открыл справку и не хрена не понял так, как там языком Била Гейтса написано было, затем целое утро с 4:00 до 10:00 гуглил решение - нашел нетак уж много всяких способов и в основном у "птицеводов", что-  на вроде подобных:
1. способ
INT_PTR CALLBACK _CustomDialogProc
 ( HWND hwndDlg,
 UINT uMsg,
 WPARAM wParam,
 LPARAM lParam
 )
{
 if (WM_COMMAND == uMsg)
   ::EndDialog(hwndDlg, LOWORD(wParam));

 return FALSE;
}
int nRet = ::DialogBoxParam(hInstance, MAKEINTRESOURCE(ID_CUSTOMDIALOG),
   NULL, _CustomDialogProc, 0);


2. способ
LRESULT _CustomMessageBoxInit(HWND hwndDlg, _SCustomMessageBoxParam *pInit)
{
 // Расстояние между кнопками, а также бордюр
 const int  nBorder = 11;

 UINT    uType = pInit->m_uType;
 RECT    rect;
 RECT    rectButton;
 int    nVisibleButtons = 0;
 int    nVisibleButtonsWidth = 0;
 HDC    hdcDlg;
 HWND    hwndText = ::GetDlgItem(hwndDlg, ID_MSGBOXTEXT);

 // Заголовок окна
 if (pInit->m_lpCaption)
   ::SetWindowText(hwndDlg, pInit->m_lpCaption);

 // Текст окна
 ::SetWindowText(hwndText, pInit->m_lpText);

 // Включаем нужные кнопки
 nVisibleButtons = _CustomMessageBoxShowButtons(hwndDlg, uType);

 // Устанавливаем иконку
 _CustomMessageBoxSetIcon(hwndDlg, uType);

 // Подсчитываем размер текста
 ::GetClientRect(hwndText, &rect);
 rect.top = rect.left = nBorder;
 rect.right += nBorder;
 rect.bottom = 0;

 hdcDlg = ::GetWindowDC(hwndDlg);
 ::DrawText(hdcDlg, pInit->m_lpText, -1, &rect,
        DT_LEFT | DT_EXPANDTABS | DT_WORDBREAK | DT_CALCRECT);
 ::ReleaseDC(hwndDlg, hdcDlg);

 ::SetWindowPos(hwndText, NULL, rect.left, rect.top,
   rect.right - rect.left, rect.bottom - rect.top,
   ((MB_ICONMASK & uType) ? SWP_NOMOVE : 0 )
   | SWP_NOZORDER | SWP_NOREDRAW | SWP_NOACTIVATE);

 if (MB_ICONMASK & uType)
 {
   int nIconHeight = ::GetSystemMetrics(SM_CYICON);
   if (rect.bottom - rect.top < nIconHeight)
     rect.bottom = rect.top + nIconHeight;
 }

 // Расставляем кнопки
 ::GetClientRect(::GetDlgItem(hwndDlg, IDOK), &rectButton);
 nVisibleButtonsWidth = (nVisibleButtons * (rectButton.right + nBorder));
 if (rect.right < nVisibleButtonsWidth)
 {
   rect.right = nVisibleButtonsWidth;
   _CustomMessageBoxInitPositionButtons(hwndDlg, nBorder, rect.bottom,
     nBorder + rectButton.right, (uType & MB_DEFMASK) >> 8);
 }
 else
 {
   _CustomMessageBoxInitPositionButtons(hwndDlg,
     (rect.right - nVisibleButtonsWidth) / 2, rect.bottom,
     nBorder + rectButton.right, (uType & MB_DEFMASK) >> 8);
 }

 // Пересчитываем размеры самого диалога
 rect.right += nBorder * 2;
 rect.bottom += (rectButton.bottom + nBorder * 2);

 ::AdjustWindowRectEx(&rect, ::GetWindowLong(hwndDlg, GWL_STYLE)
   , FALSE, ::GetWindowLong(hwndDlg, GWL_EXSTYLE));
 _CenterWindow(hwndDlg, &rect);

 return 0;
}


- и ни хрена не нашел на делфи  (теперь я понимаю почему они бедные люди), а потом уже я задал вопрос на форуме, а еще
через 15 минут и сам догнал


 
GrayFace ©   (2007-01-10 00:55) [10]

Впервые встречаю человека, который вначале гуглит, а потом спрашивает на форуме. Это ж нерационально, проще спросить и самому не мучаться. :)


 
Zorro2001 ©   (2007-01-10 02:40) [11]


> GrayFace ©   (10.01.07 00:55) [10]

форум последнее дело... сначала справка.. потом кцуча справочников.. потом поиск в тырнете.. а уже потом форум...
ИМХО.


 
Германн ©   (2007-01-10 02:59) [12]


> Zorro2001 ©   (10.01.07 02:40) [11]
>
>
> > GrayFace ©   (10.01.07 00:55) [10]
>
> форум последнее дело... сначала справка.. потом кцуча справочников.
> . потом поиск в тырнете.. а уже потом форум...
> ИМХО.
>

Твоими бы молитвами! Да только "среднестатистические" идут другими путями.


 
Desdechado ©   (2007-01-10 11:26) [13]

> Сперва я открыл справку и не хрена не понял так, как там языком Била Гейтса написано было
Ты бы почитал встроенную справку, там языком David Intersimone написано. Гораздо понятнее.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.055 c
15-1168333001
ocean
2007-01-09 11:56
2007.01.28
WAN servers


8-1148644131
Михайлов Антон
2006-05-26 15:48
2007.01.28
Как слушать радио?


15-1167947515
ProgRAMmer Dimonych
2007-01-05 00:51
2007.01.28
Не сочтите за тупость и неумение читать...


3-1162530427
m_i_p
2006-11-03 08:07
2007.01.28
сквозная нумерация в DbGrid


15-1167339007
Ringo
2006-12-28 23:50
2007.01.28
О тщетности всякого усилия.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский