1

(5 відповідей, залишених у C++)

Ні би то получилось, але щось не правельно з умовою перевірки на вид трикутника...

void vud(char vud)
{
    if (x==y || y==z)
    {
        cout <<"trukut rivnob"<<endl;
        p=x+y+z;
    }
    else
        if (x==y && y==z)
        {
            cout <<"trukut riznostor"<<endl
        }
}

2

(5 відповідей, залишених у C++)

koala написав:

У вас в умові все розписано, от прямо берете по слову і прямо так в програму і переписуєте. В чому проблема?

Я ще не добре володію по роботі з класами..

3

(12 відповідей, залишених у HTML та CSS)

<script type="text/javascript">

var image1=new Image()
image1.src="Slide/1.jpg"
var image2=new Image()
image2.src="Slide/2.jpg"
var image3=new Image()
image3.src="Slide/3.jpg"
var image4=new Image()
image4.src="Slide/4.jpg"
var image5=new Image()
image5.src="Slide/5.jpg"
</script>
<script>
var step=1
function slideit(){
if (!document.images)
return
document.images.slide.src=eval("image"+step+".src")
if (step<5)
step++
else
step=1
setTimeout("slideit()",2000)
}
slideit()
</script>

Просто і доступно...

4

(12 відповідей, залишених у HTML та CSS)

Зробіть на JavaScript))))

5

(5 відповідей, залишених у C++)

Допоможіть закінчити задачу... Створити клас ТРІЙКА ЧИСЕЛ. Визначити конструктори, деструктор, функції доступу до полів, введення-виведення та обчислення суми чисел. Створити похідний клас ТРИКУТНИК з полями-сторонами.. Визначити конструктори за замовчуванням і з різним числом параметрів, деструктор, функції доступу до полів, введення-виведення, обчислення периметра та визначення виду трикутника (рівнобічний, рівнобедрений або прямокутний).

#include <iostream>
#include <cstring>
using namespace std;
class trchus
{
protected:
    int Chuslx;
    int Chusly;
    int Chuslz;
public:
    trchus(int x, int y, int z) {
    Chuslx=x;
    Chusly=y;
    Chuslz=z;
        
    }
    ~trchus() {}
    int s;
    void init ();
    void Get(int x,int y,int z)
    {
    s=x+y+z;
    } 
    int Put()
    {return s;}
};
class truk: public trchus {
    char vud;
public:
    int p;
    truk():trchus() {}
    ~truk(){}
 void vud(char vud)
 {
     if (x==y || y==z)
     {
         cout <<"trukut rivnob"<<endl;
         p=x+y+z;
     }
     else
         if (x==y && y==z)
         {
        cout <<"trukut riznostor"<<endl
         }
    }
void show(int p){return p;}
};

int main ()
{ 
system ("PAUSE");
    return 0;
}

6

(5 відповідей, залишених у C++)

Дякую за допомогу...

7

(5 відповідей, залишених у C++)

Створити клас – рядок символів. У закритій частині описати вказівник на символьний тип (на початок рядка). Визначити конструктор, деструктор, функції введення та виведення елементів рядка, обчислення довжини рядка.
Що получилось? Поможіть будь-ласка доповнити....або виправити..

#include <iostream>
#include <string>
using namespace std;
class string
{
public:
    int leng;
    char*text;
void length()
    {
    
    }
int string::length(char*t)
{
strcpy(text,t);
int i=0;
    while(text[i])i++;
    leng=i;
}
~string()
{}
//метод доступу 
void zmint(char*t)
{
    int n;
for (int i=0; i<n; i++)
    text[i]=t[i];
}
void chutt(char*t)
{
    int n;
for (int i=0; i<n; i++)
    t[i]=text[i];
}

};

int main()
{
    string st
        ("gfghjfghgf")
cout<<st.chutt <<endl;
system("PAUSE");
}

8

(12 відповідей, залишених у C++)

Взагальному програма в мене працює все готово.це програма, яка має можливість зчитувати (захвачувати) колір певного об’єкту,тобто всього що розміщено на моніторі. З деяким кодом алгоритму мені допоміг викладач. Не можу зрозуміти саму суть яким чином в програмі зчитується колір. Догадуюся що це задопомогою повідомлень WM_TIMER

 case WM_TIMER:
   ScrDC=GetDC(NULL);
   GetCursorPos(&CurPos);
   clRGB=GetPixel(ScrDC,CurPos.x,CurPos.y);
   bR=GetRValue(clRGB);bG=GetGValue(clRGB);bB=GetBValue(clRGB);
   wsprintf(R,"%x",bR);
   wsprintf(G,"%x",bG);
   wsprintf(B,"%x",bB);
   if (GetRValue(clRGB)<16) {lstrcpy(BUF,"0");lstrcat(BUF,R);lstrcpy(R,BUF);}
   if (GetGValue(clRGB)<16) {lstrcpy(BUF,"0");lstrcat(BUF,G);lstrcpy(G,BUF);}
   if (GetBValue(clRGB)<16) {lstrcpy(BUF,"0");lstrcat(BUF,B);lstrcpy(B,BUF);}  
   lstrcpy(RGB,"#");
   lstrcat(RGB,R);
   lstrcat(RGB,G);
   lstrcat(RGB,B);
   lstrcpy(szCodePaint,RGB);
   InvalidateRect(hwnd,&rctCodePaint, TRUE);
   InvalidateRect(hwnd,&rctColor, TRUE);
  break;

Якщо можна поясніть...
Це цілий алгоритм....

#include <windows.h>
#define MYWM_NOTIFYICON (WM_USER + 1)

char szClName[] = "My_Class";
char szCodeEdit[]="Колір";
char szCodePaint[]="";
COLORREF clRGB;
int iTray=0;
HICON hIco;

LONG WINAPI WndProc(HWND, UINT, WPARAM,LPARAM);//продекларована функція
BOOL TrayMessage(HWND,DWORD,UINT,HICON,PSTR);
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInst,LPSTR lpCmdLine,int nCmdShow)
 {
 HWND hwnd,hBtn1,hBtn2;
 MSG msg;
 HBITMAP hBmp1=(HBITMAP)LoadImage(hInst,"close.bmp",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);
 HBITMAP hBmp2=(HBITMAP)LoadImage(hInst,"hide.bmp",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);
 WNDCLASS w;
 memset(&w, 0, sizeof(WNDCLASS));
 w.style = CS_HREDRAW | CS_VREDRAW;
 w.lpfnWndProc = WndProc;
 w.hInstance = hInst;
 w.hbrBackground = (HBRUSH)CreateSolidBrush(RGB(255,255,200)); //колір робочої області
 w.lpszClassName = szClName;
 w.hIcon=hIco;
 RegisterClass(&w);
 hwnd = CreateWindowEx(WS_EX_TOPMOST | WS_EX_TOOLWINDOW,szClName, "HTML код коліру:",
  WS_POPUP | WS_DLGFRAME,70, 60, 215, 100, NULL, NULL, hInst, NULL);
 CreateWindowEx(WS_EX_CLIENTEDGE, "edit",szCodeEdit, WS_CHILD | WS_VISIBLE | 
  ES_LEFT,42, 2, 70, 20, hwnd, (HMENU)10000, hInst, NULL);
 hBtn1=CreateWindow("button", "", WS_CHILD | WS_VISIBLE | BS_BITMAP,
        195, 4, 14, 14, hwnd, (HMENU)20000, hInst, NULL);
 hBtn2=CreateWindow("button", "", WS_CHILD | WS_VISIBLE | BS_BITMAP,
        179, 4, 14, 14, hwnd, (HMENU)30000, hInst, NULL);
 SendMessage(hBtn1, BM_SETIMAGE, IMAGE_BITMAP, LPARAM(hBmp1));
 SendMessage(hBtn2, BM_SETIMAGE, IMAGE_BITMAP, LPARAM(hBmp2));     
 ShowWindow(hwnd,nCmdShow);
 UpdateWindow(hwnd);
 SetTimer(hwnd, 1, 100, NULL);
 while(GetMessage(&msg,NULL,0,0))
  {
  TranslateMessage(&msg);
  DispatchMessage(&msg);
  }
 return msg.wParam;
 }

LONG WINAPI WndProc(HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam)
 {
 HDC hdc,ScrDC;
 PAINTSTRUCT ps;
 char szHelp[]="ENTER - Копіювати в вікно";
 RECT rctCodePaint,rctColor;
 POINT CurPos;
 HBRUSH hBrsh;
 char R[33],G[33],B[33],RGB[33],BUF[33];
 BYTE bR,bG,bB;
 SetRect(&rctCodePaint,115,0,175,20);
 SetRect(&rctColor,6,3,35,20);
 char szText[255];
 if(Message == MYWM_NOTIFYICON && lparam == WM_LBUTTONDOWN)
  {
  if (iTray==0)
   {
   ShowWindow(hwnd,SW_HIDE);
   iTray=1;
   }else
   {
   ShowWindow(hwnd,SW_SHOW);
   iTray=0;
   }
  }
 switch (Message)
  {
  case WM_CREATE:
   lstrcpy(szText,"показати/скрити"); // підсказка
   TrayMessage(hwnd,NIM_ADD,0,hIco,szText); // NIM_ADD добавити ico в трей
  break;
  case WM_KEYDOWN:
   {
   if(LOWORD(wparam)==VK_RETURN)
    {
    HWND hwndEdit = GetDlgItem(hwnd, 10000);
    SetWindowText(hwndEdit,szCodePaint);
    }
   }  
  break;
  case WM_TIMER:
   ScrDC=GetDC(NULL);
   GetCursorPos(&CurPos);
   clRGB=GetPixel(ScrDC,CurPos.x,CurPos.y);
   bR=GetRValue(clRGB);bG=GetGValue(clRGB);bB=GetBValue(clRGB);
   wsprintf(R,"%x",bR);
   wsprintf(G,"%x",bG);
   wsprintf(B,"%x",bB);
   if (GetRValue(clRGB)<16) {lstrcpy(BUF,"0");lstrcat(BUF,R);lstrcpy(R,BUF);}
   if (GetGValue(clRGB)<16) {lstrcpy(BUF,"0");lstrcat(BUF,G);lstrcpy(G,BUF);}
   if (GetBValue(clRGB)<16) {lstrcpy(BUF,"0");lstrcat(BUF,B);lstrcpy(B,BUF);}  
   lstrcpy(RGB,"#");
   lstrcat(RGB,R);
   lstrcat(RGB,G);
   lstrcat(RGB,B);
   lstrcpy(szCodePaint,RGB);
   InvalidateRect(hwnd,&rctCodePaint, TRUE);
   InvalidateRect(hwnd,&rctColor, TRUE);
  break;
  case WM_PAINT:
   hdc = BeginPaint(hwnd, &ps);
   SetBkMode (hdc,TRANSPARENT);
   SetTextColor(hdc,RGB(128,100,0));
   TextOut( hdc, 115, 4,szCodePaint, lstrlen(szCodePaint));
   SetTextColor(hdc,RGB(50,100,0));
   TextOut( hdc, 10, 50,szHelp, lstrlen(szHelp));
   hBrsh=CreateSolidBrush(clRGB);
   FillRect(hdc,&rctColor,hBrsh);
   DeleteObject(hBrsh);
   EndPaint(hwnd, &ps);
  break;
  case WM_LBUTTONDOWN: //переміщення 
   SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION,0);
  break;
  case WM_COMMAND:
  if(LOWORD(wparam)==20000)
   {
   TrayMessage(hwnd,NIM_DELETE,0,hIco,szText);
   PostQuitMessage(0);
   }
  if(LOWORD(wparam)==30000)
   {
   ShowWindow(hwnd,SW_HIDE);
   iTray=1;
   } 
  break;     
  case WM_DESTROY:
  TrayMessage(hwnd,NIM_DELETE,0,hIco,szText);
   PostQuitMessage(0);
  break;
  default: return DefWindowProc(hwnd, Message, wparam, lparam);
  }
 return 0;
 }
BOOL TrayMessage(HWND hwn,DWORD dwMsg,UINT uID,HICON hIcon,PSTR pszTip) 
 { 
 BOOL rezt; 
 NOTIFYICONDATA nid; 
 nid.cbSize = sizeof(NOTIFYICONDATA); 
 nid.hWnd = hwn; 
 nid.uID = uID; 
 nid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
 nid.uCallbackMessage = MYWM_NOTIFYICON;// Повідомлення, які відправляться якщо 
                                        // курсор над іконкую або клік поньому
 nid.hIcon = hIcon; 
    if (pszTip) 
    { 
     lstrcpyn(nid.szTip, pszTip, sizeof(nid.szTip)); 
    } 
    else 
    { 
     nid.szTip[0] = '\0'; 
    } 
    rezt = Shell_NotifyIcon(dwMsg, &nid); 
    return rezt; 
 }

9

(12 відповідей, залишених у C++)

Chemist-i написав:
LeoDevel написав:

Чи можети ви дати пояснення таким рядкам

 case WM_COMMAND:
  if(LOWORD(wparam)==20000)
   {
   TrayMessage(hwnd,NIM_DELETE,0,hIco,szText);
   PostQuitMessage(0);
   }
  if(LOWORD(wparam)==30000)
   {
   ShowWindow(hwnd,SW_HIDE);
   iTray=1;
   } 
  break;     

Мабуть іконка з трея видаляється

TrayMessage(hwnd,NIM_DELETE,0,hIco,szText); // NIM_DELETE видалити іконку
ShowWindow(hwnd,SW_HIDE);// сховати вікно при натисканні на іконку

Я не розумію чому

LOWORD(wparam)==30000

та

LOWORD(wparam)==20000

Чому 20000 30000 ??

10

(12 відповідей, залишених у C++)

Чи можети ви дати пояснення таким рядкам

 case WM_COMMAND:
  if(LOWORD(wparam)==20000)
   {
   TrayMessage(hwnd,NIM_DELETE,0,hIco,szText);
   PostQuitMessage(0);
   }
  if(LOWORD(wparam)==30000)
   {
   ShowWindow(hwnd,SW_HIDE);
   iTray=1;
   } 
  break;     

11

(12 відповідей, залишених у C++)

Bartash написав:

Залийте сюди проект (гадаю, ви у VS робите).

Так у VS//цю проблему вирішено

 HBITMAP hBmp1=(HBITMAP)LoadImage(hInst,"close.bmp",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);
 HBITMAP hBmp2=(HBITMAP)LoadImage(hInst,"hide.bmp",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);

12

(12 відповідей, залишених у C++)

Помилки ніякої не видає..

13

(12 відповідей, залишених у C++)

Маю курсову повязану з WinApi функціями. Маю невиличкі проблеми і так. В мене у вікні програми є дві кнопки  hide close. Для них створений верхній вигляд в bmp форматі. Для розміщення їх на кнопки застосовую наступний код

 HBITMAP hBmp1=(HBITMAP)LoadImage(hInst,"close",IMAGE_BITMAP,0,0,0);
 HBITMAP hBmp2=(HBITMAP)LoadImage(hInst,"hide",IMAGE_BITMAP,0,0,0);


То сами роблю з іконкою

 hIco=LoadIcon(hInst,"icon");

Але нічого не змінюється кнопки чисті, іконка відсутння. Знаю що є такі файои ресурсів (*.rc), де необхідно додати відповідні зображення, як це зробити...я в тому новачок....допоможіть...

14

(2 відповідей, залишених у C++)

Пробую створити цифровий годиник, щоб він був свого роду прозорий...Алгоритм:

#define _WIN32_WINNT 0x0501 //SetLayeredWindowAttributes 
#include <windows.h>
#include <windowsx.h> // HANDLE_MSG, SelectBitmap, SelectFont
#include <time.h>

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
BOOL OnCreate(HWND,CREATESTRUCT FAR*);
void OnTimer(HWND,UINT);
void OnPaint(HWND);
void OnDestroy(HWND);
HBITMAP Create_hBitmap(HDC,int,int);

HDC hdcMem, hdc;
HBITMAP hBitmap;
char szTime[10];
char szFace[]="Arial Cyr";
time_t ltm;
HFONT hFont;
LOGFONT lf;
int wndL=300,wndT=20,wndW=200,wndH=40;

int WINAPI WinMain(HINSTANCE hInst,HINSTANCE,LPSTR,int)
{
 HWND hwnd;
 HRGN hReg;
 char szClassName[]="MainWindow";
 char szTitle[]="desk";
 MSG msg;
 WNDCLASS wc;
 memset(&wc,0,sizeof(wc));
 wc.style=CS_DBLCLKS;// !!! использовать двойной щелчёк !!!
 wc.lpfnWndProc=WndProc;
 wc.hInstance=hInst;
 wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);
 wc.hCursor=LoadCursor(NULL,IDC_ARROW);
 wc.hbrBackground=WHITE_BRUSH;
 wc.lpszClassName=szClassName;
 RegisterClass(&wc);
 // WS_EX_TOOLWINDOW - убрать с панели
 // WS_EX_LAYERED - прозрачность
 hwnd = CreateWindowEx (WS_EX_LAYERED|WS_EX_TOOLWINDOW,
    szClassName,"desk",WS_OVERLAPPEDWINDOW|WS_VISIBLE,
    wndL,wndT,wndW,wndH,HWND_DESKTOP,NULL,hInst,NULL);
 SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE)
      & (~(WS_CAPTION|WS_SIZEBOX)));
 hReg = CreateRectRgn(0,0,wndW,wndH); 
  SetWindowRgn(hwnd, hReg, true);
  DeleteObject(hReg);
 // SetLayered... параметры прозрачности
 // WHITE_BRUSH - тоже что и wc.hbrBackground
 SetLayeredWindowAttributes(hwnd,WHITE_BRUSH,0,LWA_COLORKEY);
 ShowWindow (hwnd,SW_SHOW);
 while (GetMessage (&msg, NULL, 0, 0))
  {
  TranslateMessage(&msg);
  DispatchMessage(&msg);
  }
 return msg.wParam;
 }

LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam){
switch(msg)
 {
 HANDLE_MSG(hwnd,WM_CREATE,OnCreate);
 HANDLE_MSG(hwnd,WM_TIMER,OnTimer);
 HANDLE_MSG (hwnd, WM_PAINT, OnPaint);
 HANDLE_MSG(hwnd,WM_DESTROY,OnDestroy);
 case WM_LBUTTONDBLCLK: // двойной щелчёк по цифре
  OnDestroy(hwnd); 
 break;
default: return(DefWindowProc(hwnd,msg,wParam,lParam));
}
}

BOOL OnCreate(HWND hwnd,LPCREATESTRUCT)
{
hdc=GetDC(hwnd);     
hdcMem=CreateCompatibleDC(hdc);
RECT r; 
SystemParametersInfo(SPI_GETWORKAREA,0,&r,0); // узнать размеры экрана
hBitmap=Create_hBitmap(hdc,r.right,r.bottom);
SelectBitmap(hdcMem,hBitmap); // для нулевого фона
ReleaseDC(hwnd,hdc);
wndL=r.right-wndW-20; // справа вверху
SetWindowPos(hwnd,NULL,wndL,wndT,wndW,wndH,SWP_NOSIZE); 
SetTimer(hwnd,1,1000,NULL);
return TRUE;
}

void OnTimer(HWND hwnd,UINT)
 {
 InvalidateRect(hwnd,NULL,FALSE);//Перерисовка окна. Если FALSE - не мигает
 } //OnTimer

void OnPaint(HWND hwnd)
 {
 PAINTSTRUCT ps;
 hdc=BeginPaint(hwnd,&ps);
 BitBlt(hdc,0,0,wndW,wndH,hdcMem,wndL,wndT,SRCCOPY) ; // нулевой фон
 SetBkMode(hdc,TRANSPARENT);
 ltm = time(NULL); // время системы
 strftime(szTime,10,"%X",localtime<m);
 ZeroMemory(&lf,sizeof(lf));
 strcpy(lf.lfFaceName,szFace);
 lf.lfHeight=60;
 lf.lfWeight=FW_BOLD;
 hFont=CreateFontIndirect(&lf);
 SelectFont(hdc,hFont);
 SetTextColor(hdc,RGB(255,0,0));
 TextOut(hdc,0 ,-10,szTime, lstrlen(szTime));
 EndPaint(hwnd,&ps);
}

void OnDestroy(HWND)
{
DeleteBitmap(hBitmap);
DeleteDC(hdcMem);
PostQuitMessage(0);
}

HBITMAP Create_hBitmap(HDC hDC,int w, int h)
  {
  HDC hDCmem;       
  HBITMAP hbm,holdBM;
  hDCmem=CreateCompatibleDC(hDC);
  hbm=CreateCompatibleBitmap(hDC,w,h);
  holdBM=(HBITMAP)SelectObject(hDCmem,hbm);
  BitBlt(hDCmem, 0,0, w, h, hDC, 0,0, SRCCOPY);
  SelectObject(hDCmem,holdBM);
  DeleteDC(hDCmem);
  DeleteObject(holdBM);
  return hbm;
  }

Вибиває ошибку Error    1    error C2065: 'm' : undeclared identifier    ну не знаю....підскажіть..

15

(7 відповідей, залишених у C++)

Велике дякую...все працює...

16

(7 відповідей, залишених у C++)

cuhedg написав:

Спробуйте cbSize, NULL, switch  (з таким регістром).
А також

return uMsg.wParam;

Для чого ви використовуєте різні структури?

    WNDCLASS windowClass;
    memset(&windowClass,0,sizeof(WNDCLASSEXW));

Оберіть якусь одну.

memset - як я розумію ця функція передає адрес розмір блоку памяті і значення яке маєм заповнити...

17

(7 відповідей, залишених у C++)

Ситуація змінилась накраще, але залишаються дві ошибки
Error    1    C2039: 'cbSize' : is not a member of 'tagWNDCLASSA'
Error    2    error C2664: 'RegisterClassExA' : cannot convert parameter 1 from 'WNDCLASS *' to 'const WNDCLASSEXA

18

(7 відповідей, залишених у C++)

Пробую написати форму в С++ використовуючи WinApi. Алгоритм не працює не можу виправити ошибки. Допоможіть, якщо є можливість. Алгоритм програми:

#include <windows.h>

#define width 640
#define height 480

LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam);

int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
    {
    HWND hwnd;
    MSG uMsg;
    WNDCLASS windowClass;
    memset(&windowClass,0,sizeof(WNDCLASSEXW));
    windowClass.cbsize=sizeof(WNDCLASSEXW);
    windowClass.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH);//Задаєм фоновий колір форми
    windowClass.hCursor=LoadCursor(NULL,IDC_ARROW);
    windowClass.hIcon=LoadIcon(Null,IDC_HAND);
    windowClass.hInstance=hInstance;
    windowClass.lpfnWndProc=WindowProc;
    windowClass.lpszClassName="Simple Windows";
    
    RegisterClassEx(&windowClass);
    
    hwnd=CreateWindow(windowClass.lpszClassName, "My first Name", WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX,
    (GetSystemMetrics(SM_CXSCREEN)-width)/2, (GetSystemMetrics(SM_CYSCREEN)-height)/2, width, height, NULL, NULL, NULL, NULL);
    ShowWindow(hwnd, nCmdShow);
    
    while(GetMessage(&uMsg, hwnd, NULL, NULL))
        {
        TranslateMessage(&uMsg);
        DispatchMessage(&uMsg);
        }
        return uMsg, wParam;
    }
    
 LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam)
 {
 Switch(uMsg)
    {
        case WM_CLOSE:
        ExitProcess(0);
        break;
    default:
    return DefWindowProc(hwnd, uMsg, wParam, lParam); 
    }
   
 }

Працюю В Visual Studio 8. Виводить наступні ошибки:
1.error C2039: 'cbsize' : is not a member of 'tagWNDCLASSA'
2.error C2065: 'Null' : undeclared identifier   
3.error C2664: 'RegisterClassExA' : cannot convert parameter 1 from 'WNDCLASS *' to 'const WNDCLASSEXA
4.error C2065: 'wParam' : undeclared identifier   
5.error C3861: 'Switch': identifier not found   
6.error C2046: illegal case   
7.error C2043: illegal break   
8.error C2047: illegal default

19

(8 відповідей, залишених у C++)

Bartash написав:

Імго, підійшла би ідея якої-небудь програмки для діагностики стану компа/упорядкування даних/ололо.

Інтерфейс на WTL, плюс виклики різних функцій вінапі, пов'язаних із системою.

WTL - це бібліотека

20

(8 відповідей, залишених у C++)

це думаю кращі варіанти...треба приступати,  бо час спливає...................