информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetСтрашный баг в WindowsЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Уточнил бы язык что ли... MSDN > 02.10.08 21:00  Число просмотров: 2586
Автор: kstati <Евгений Борисов> Статус: Elderman
<"чистая" ссылка>


Transparent Background
<programming>
[Win32] прозрачный background у контролов на диалоге 02.10.08 04:31  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
как сделать прозрачный background у контролов на диалоге?
пробовал имлементировать WM_CTLCOLOR не помогает для checkbox, если имлементировать
WM_CTLCOLORSTATIC, тогда repaint ne работает :(

заране спасибо
[Win32] решение 03.10.08 01:39  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
пришлось слепить из многих кодов,
причём каждый отдельно взятый код не работал или работал нетак, о-о-х!
для тех кому интересно вот код:
BOOL CUI_testDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
    
    m_BgBitmap.LoadBitmap(IDC_NZ_WELCOME);
    m_BgBrush.CreatePatternBrush(&m_BgBitmap);

}
HBRUSH CUI_testDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    if((nCtlColor != CTLCOLOR_STATIC))
        return hbr;
    //возвращаем нашу brush только для static and checkbox controls !!

    CPoint pt(0,0);

    if(this != pWnd)
    {
        CRect rc;
        pWnd->GetWindowRect(&rc);
        ScreenToClient(&rc);
        CRect rcBg;
        GetDlgItem(IDC_NZ_WELCOME)->GetWindowRect(&rcBg);
        ScreenToClient(&rcBg);
        pt.x = -rc.left;
        pt.y = -(rc.top - rcBg.top);//вычитаем title image
    }

    if((HBRUSH)m_BgBrush != NULL)
        m_BgBrush.UnrealizeObject(); 
    pDC->SetBrushOrg(pt); 
    pDC->SetBkMode(TRANSPARENT);
	
    return (HBRUSH)m_BgBrush;
}

---
[Win32] Уточнил бы язык что ли... MSDN > 02.10.08 21:00  
Автор: kstati <Евгений Борисов> Статус: Elderman
<"чистая" ссылка>


Transparent Background
[Win32] уточняю MFC 02.10.08 21:35  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
Использую MFC, проблема следующая:
есть staitc control, checkboх и другие контролы на диалоге, как сделать transparent background у етих контролов.
У меня есть диалог которой закрыт битмапом, как background, поверху лежат контролы у которых background должен быть прозрачный.
Рекомендуют следующее:
Имплементировать WM_CTLCOLOR handler в диалоге и возвражать brush которая будет исползоваться дла прорисовки background. Brush в моём случае ето bitmap area под контролом, что я и делаю, но ни фига не получается.
Максимум чего смог добится ето прорисовки для static control, но для других (например checkboх) не работает :(.
Ето же типичная задача, наверняка кто-то уже делал или использовал чей-то код.
Я в GUI совсем не очень, скинте код у кого есть.
Заранее благодарю.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach