На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются.
4. Используйте теги [ code=cpp ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Старайтесь формулировать свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной и более давности без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта (C++) user posted image FAQ Форума user posted image Наши Исходники user posted image Поиск по Разделу user posted image MSDN Library Online (Windows Driver Kit) user posted image Google

Ваше мнение о модераторах: user posted image B.V.
Модераторы: B.V.
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Статик контрол
    как сделать в Static Text текст синего цвета, а не черного? и как бы лучше узнавать кликнули ли на  этот статик контрол?
    заранее спасибо.
      лови WM_CTLCOLOR...
      ЗЫ. посмотри исходник CHyperLink, он почти везде есть, например на www.codeproject.com...
        да, вроде посмотрел я на codeproject.com - нет там в поиске. может есть прямая ссылка, а?
          а... все нашел его здесь
          http://www.sources.ru/cpp/cpp_hyperlink.shtml
          мне не понятно, почему так чудно работает поиск на этом сайте, если набрав в строке поиска ChyperLink, мне поисковик этого сайта выдал только мою тему? т.е. по тому, что есть на этом сайте, поиск  не проводится?
          зы
          ссылку я нашел через ya.ru
          Сообщение отредактировано: experimenter -
            и, кстати, он чего только под MFC? мне как бы под читстый WinAPI надо бы.
            Сообщение отредактировано: experimenter -
              ооооо!!!!! взываю к вам программеры ибо вопрос уже весит около недели!
                Цитата
                мне как бы под читстый WinAPI надо бы.

                Дык, да обычно, сабклась статик, лови нужные сообщения и рисуй...
                  как оказывается все просто. понимаешь, я еще не того уровня программер, когда могу понять такие ответы. мне надо пояснить, какие сообщения, чего на них делать надо, а MSDN я прочитать не могу заранее и все знать.
                  а что такое
                  Цитата
                  сабклась статик?
                  Сообщение отредактировано: experimenter -
                    Вот примерчик: (сделай в ресурсах диалог и помести на него статик с идентификатором IDC_MYSTATIC)
                    ExpandedWrap disabled
                      <br>#include <windows.h><br>#include "resource.h"<br><br>static HWND g_hStatic = NULL; // Хендл статика<br>static WNDPROC g_OldStaticWndProc = NULL; // Оригинальная оконная процедура для нашего статика<br><br>// "Наша" оконная процедура для статика<br>LRESULT CALLBACK StaticNewWndProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)<br>{<br>      static PAINTSTRUCT ps = {0};<br>      switch(uMessage)<br>      {<br>      // Нарисуем что-нибудь на статике...<br>      case WM_PAINT:<br>            {<br>                  HDC hDC = BeginPaint(hWnd, &ps);<br>                  RECT rc = {0};<br>                  GetClientRect(hWnd, &rc);<br><br>                  FillRect(hDC, &rc, CreateSolidBrush(RGB(0, 0, 0)));<br><br>                  COLORREF crOld = SetTextColor(hDC, RGB(0, 255, 0));<br>                  int nBkOld = SetBkMode(hDC, TRANSPARENT);<br>                                    <br>                  char sz[] = "My static";<br>                  DrawText(hDC, sz, -1, &rc, DT_CENTER);<br><br>                  SetBkMode(hDC, nBkOld);<br>                  SetTextColor(hDC, crOld);<br>                  EndPaint(hWnd, &ps);<br>            }            <br>            return FALSE;            <br><br>      case WM_DESTROY:            <br>            // Возвращаем оригинальную процедуру<br>            SetWindowLong(hWnd, GWL_WNDPROC, (LONG)g_OldStaticWndProc);<br>            PostQuitMessage(0);            <br>            break;<br>      }<br>      <br>      // Все другие сообшения обрабатываем оригинальной процедурой<br>      return CallWindowProc(g_OldStaticWndProc, hWnd, uMessage, wParam, lParam);      <br>}<br><br>BOOL CALLBACK DlgProc(HWND hDlg, UINT uMessage, WPARAM wParam, LPARAM lParam)<br>{<br>      switch(uMessage)<br>      {<br>      case WM_INITDIALOG:<br>            // получаем хендл статика<br>            g_hStatic = GetDlgItem(hDlg, IDC_MYSTATIC);<br>            <br>            // Сабкласим его т.е ставим новую оконную процедуру<br>            g_OldStaticWndProc = (WNDPROC)SetWindowLong(g_hStatic, GWL_WNDPROC, (LONG)StaticNewWndProc);<br>            if(!g_OldStaticWndProc) return FALSE;<br>            <br>            break;<br>      <br>      case WM_COMMAND:<br>            switch(LOWORD(wParam))<br>            {<br>            case IDOK:<br>            case IDCANCEL:<br>                  EndDialog(hDlg, 1);<br>                  return 0;                  <br>            }<br>            break;<br>            <br>      case WM_DESTROY:      <br>            DestroyWindow(g_hStatic);<br>            break;<br>      }<br>      return FALSE;<br>}<br><br>int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR szCmdLine, int nCmdShow)<br>{<br>      DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC)DlgProc);<br>      return 0;<br>}<br>

                    PS. если поставить статику стиль SS_NOTIFY, то в StaticNewWndProc() можно ловить WM_MOUSEMOVE, WM_LBUTTONDOWN, WM_LBUTTONUP и тд...
                      спасибо, а ты не объснишь в двух словах пример чего?  :-/
                        а... ну, так примерно понятно. т.е. там просто цвет контрола меняется. понятно. а в зависимости от сообщения мышки мы его либо меняем либо нет? и это... как сделать подчеркнутым текст?
                        спасибо большое.
                        Сообщение отредактировано: experimenter -
                          Цитата EXPERIMENTER, 26.04.03, 18:48:33
                          а... ну, так примерно понятно. т.е. там просто цвет контрола меняется. понятно. а в зависимости от сообщения мышки мы его либо меняем либо нет? и это... как сделать подчеркнутым текст?
                          спасибо большое.

                          Ты исходник CHyperLink смотрел?
                          Цитата

                          LOGFONT lf;
                          GetFont()->GetLogFont(&lf);
                          lf.lfUnderline = (BYTE)m_bUnderline; // тобишь true или false

                          m_Font.DeleteObject();
                          m_Font.CreateFontIndirect(&lf);
                          SetFont(&m_Font);
                            спасибо.
                            я, кстати, написал письмо автору CHyperLink. можете посмотреть, чего он мне ответил
                            ;D
                            Цитата

                            Автор: "Chris Maunder" <chris@codeproject.com>  

                            Кому: "Iaoy Ineiia" <petik@rambler.ru>  
                            Копия:  


                            The version on those pages is an illegal and unauthorised copy of my article on
                            www.codeproject.com.

                            cheers
                            Chris Maunder

                            The Code Project
                            www.codeproject.com

                            > -----Original Message-----
                            > From: Петя Осипов [mailto:petik@rambler.ru]
                            > Sent: Saturday, April 26, 2003 1:10 AM
                            > To: cmaunder@mail.com
                            > Subject: CHyperLink
                            >
                            >
                            > Dear Chris Maunder,
                            > I've downloaded your class CHyperLink from here
                            > http://www.sources.ru/cpp/cpp_hyperlink.shtml
                            > It seems to be of a great help, but I was just wondering if I could use it
                            without MFC. I mean, I need to use something
                            > like your class for creating hyperlinks, but I am writing using only WinAPI.
                            I would be really greatful if you answer my question.
                            > Kind Regards,
                            > Peter Ossipov.


                            Надеюсь, я ни кому не доставил проблем.
                              Цитата EXPERIMENTER, 27.04.03, 11:23:21
                              Надеюсь, я ни кому не доставил проблем.

                              Я ж тебе говорил ищи на codeproject.com ;)
                                так я сейчас этим и занимаюсь. там черт ногу  сломит.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0320 ]   [ 15 queries used ]   [ Generated: 17.05.24, 10:51 GMT ]