Форум: "Начинающим";
Текущий архив: 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.042 c