Advertisement
dllbridge

ListBox doubleClick WinLego

May 5th, 2022
1,079
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.76 KB | None | 0 0
  1.  
  2. #include    "C:\\dllBridge\\WinLego\\Lego\\Lego.h"
  3. using namespace Lego;
  4.  
  5.  
  6.  
  7.  
  8. Button               btn[7];               //  На всякий случай, сразу 7 элементов (кнопок).  
  9. EditBox              edt[7];               //  EditBox тоже может пригодиться в будущем.
  10. ListBox              lbx[7];
  11.  
  12. char               sz1[123],
  13.                    sz2[123];
  14.  
  15.  
  16. /////////////////////////////////////////////   Эта функция инициализации. Она вызывается с помощью таймера №1
  17. void INIT()                                //   1 (единственный) раз, когда Timer_CLK == 1.
  18. {
  19.  
  20.  
  21.      btn[2].Create("Select", 555, 444, 70, 20);
  22.  
  23.      
  24.  
  25.      lbx[2].Create("", 10, 10, 620, 240);    
  26.      lbx[2].SetColor(RGB(175, 119, 0), RGB(0, 0, 0), hBr[0]);        
  27.      lbx[2].AddString("1 ) Point   one:   Wolf"    );
  28.      lbx[2].AddString("2 ) Point   two:   Hewlett-Packard"    );     
  29.      lbx[2].AddString("3 ) Point three:   SONY");        
  30.      lbx[2].SetCurSel(0);
  31. }
  32.  
  33.  
  34.  
  35.  
  36. ///////////////////////////////////////////////     Эта функция вызывается (с помощью таймера №2) 5 раз
  37. void START()                                 //     в секунду, когда Timer_CLK >= 2.                                                      
  38. {  
  39.  
  40.      Print_1(20, 180, "                 ");  //     Стереть ID контрола  
  41.      Print_1(20, 200, "                 ");  //     Стереть номер события
  42.  
  43. }
  44.  
  45.  
  46.  
  47.                                            //   Графический контекст уже захвачен в оконной процедуре ( BeginPaint() )
  48. /////////////////////////////////////////////   Здесь происходит вывод на экран Вашей графической информации, во время
  49. void mainPAINT()                           //   появления сообщения WM_PAINT от OS Windows. Например, после сворачива-
  50. {                                          //                 ния окна программы или перекрытия окном другой программы.
  51.  
  52.      if(Windows == 0)
  53.      {   
  54.    
  55.            
  56.         BitBlt(hdc, 0, 0, maxX, maxY, memdc, 0, 0, SRCCOPY);
  57.      }
  58. }
  59.  
  60.  
  61.  
  62.  
  63. char szPicPath[7][123] = {"resource/Pictures/00.png",
  64.                           "resource/Pictures/01.png",
  65.                           "resource/Pictures/02.png",
  66.                           "resource/Pictures/03.png" };
  67.  
  68.  
  69.  
  70.  
  71.  
  72. ////////////////////////////////////////////////////     Эта функция вызывается из оконной процедуры WndProc(), если  
  73. void ScanButtonsAndMenuItems(int x, int item)     //     пользователь выбрал:    1) Какой-либо пункт меню.                      
  74. {                                                 //                             2) Нажал кнопку.
  75.    
  76.    
  77.      wsprintf(sz1, "control ID = %d   ", LOWORD(item) );
  78.      wsprintf(sz2, "event      = %d   ", HIWORD(item) );   
  79.      Print_1( 20, 180, sz1);
  80.      Print_1( 20, 200, sz2);                                          
  81.        
  82.        
  83.        if(lbx[2].ID == LOWORD(item) )
  84.        {
  85.                                                                                
  86.            if(HIWORD(item) == LBN_SELCHANGE)  PictureShow_2(240, 240, szPicPath[0]);//Изменился номер выбранной строки
  87.            if(HIWORD(item) == LBN_DBLCLK   )                                        //  LBN_DBLCLK = 2
  88.            {               
  89.                 int    index = SendMessageW(lbx[2].hControl, LB_GETCURSEL, 0, 0);    
  90.                 switch(index)
  91.                 {
  92.            
  93.                     case   0:   PictureShow_2(240, 240, szPicPath[1]);  break;                                                             
  94.                     case   1:   PictureShow_2(240, 240, szPicPath[2]);  break;                                                                                 
  95.                     case   2:   PictureShow_2(240, 240, szPicPath[3]);  break;                                                                                                             
  96.                 }            
  97.            }
  98.        }  
  99.  
  100.  
  101.      if(x == 1)                                                         //  Опрос пунктов меню или программных кнопок  
  102.        
  103.          switch(item)                             //                                 Обработка сообщений пунктов Меню 
  104.          {   
  105.  
  106.          }       
  107. }
  108.  
  109.  
  110.  
  111. //  Позволяет деинициализировать (уничтожить) объекты.
  112. //  Вызывается из Lego.cpp (F_Destroy()) непосредственно перед завершением работы программы.
  113. ///////////////////////////////////////////////////    
  114. void UserDestroy()                               //                                                    
  115. {    
  116.  
  117.  
  118. }
  119.  
  120.  
  121.  
  122.  
  123.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement