ゼノンさんのブログ
Amebaでブログを始めよう!
1 | 2 | 3 | 4 | 5 | 最初次のページへ >>

久しぶりの更新

久しぶりの更新なのですが、


今日はWin32APIのひな形を記してみます。


覚え書き程度ですが。


よっこしょ。

//main.cpp

#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

TCHAR szClassName[] = TEXT("zenon02");

int WINAPI WinMain(HINSTANCE hCurInst, HINSTANCE hPrevInst,
LPSTR lpsCmadLine, int nCmdShow)
{
MSG msg;
BOOL bRet;
WNDCLASSEX wc;
HWND hWnd;

wc.cbSize = sizeof(WNDCLASSEX); //ウインドウサイズ
wc.style = CS_HREDRAW | CS_VREDRAW; //ウインドウスタイル
wc.lpfnWndProc = WndProc; //ウインドウ名
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hCurInst;

//アイコン
wc.hIcon = (HICON)LoadImage(NULL,
MAKEINTRESOURCE(IDI_APPLICATION),
IMAGE_ICON,
0,
0,
LR_DEFAULTSIZE | LR_SHARED);

//マウスカーソル
wc.hCursor = (HCURSOR)LoadImage(NULL,
MAKEINTRESOURCE(IDC_ARROW),
IMAGE_CURSOR,
0,
0,
LR_DEFAULTSIZE | LR_SHARED);

//背景色
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wc.lpszMenuName = NULL;

//クラス名
wc.lpszClassName = szClassName;

//タイトルバーの左端にあるような小さいアイコンを指定
wc.hIconSm = (HICON)LoadImage(NULL,
MAKEINTRESOURCE(IDI_APPLICATION),
IMAGE_ICON,
0,
0,
LR_DEFAULTSIZE | LR_SHARED);

if (RegisterClassEx(&wc) == 0)
return FALSE;

hWnd = CreateWindow(
wc.lpszClassName,
TEXT("ゆゆ様マジ愛してる"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
wc.hInstance,
NULL);

if (!hWnd)
return FALSE;

ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);

while ((bRet = GetMessage(&msg, NULL, 0, 0)) != 0) {
if (bRet == -1) {
break;
} else {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return (int)msg.wParam;
}


//proc.cpp
#include <windows.h>

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
{
switch (msg) {
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return (DefWindowProc(hWnd, msg, wp, lp));
}
return 0;
}

ざっとこんな感じです。


実行すると、



ゼノンさんのブログ

こうなります。


うん。見事に何もしないウインドウですね。


これからもっと勉強してみます。


では!

べき乗

こんにちは。久しぶりの更新でなんですが、

今日はCの覚え書きです。

最近Javaも勉強してみたのですが、

Cのと似通った部分が多くて楽しいですね。

便利な関数もいっぱいあるみたいですし。

まあ難しい事は私もあまり理解してませんし、今は言及しません。

Javaの本でべき乗を求める式を作れってのがあったので、以前自作したCでのべき乗を作るfor文を覚え書きしとこうかなあと思います。

int Test::power()
{
int power = 1; //1で初期化   //要素をかけていくため
  cout << "a = "; //
cin >> a; //aを入力

  cout << "b = "; //
cin >> b; //bを入力

//べき乗は0の0乗,数字の0乗は0
if( (a == 0)&&(b == 0) || (b == 0) ) {
power = 1;
}

for (int i = 0; i < b; i++) {
power *= a;
}

cout << "a ^ b = " << power << endl;

return 0;
}

こんな感じですね。

int Test::とあるのは、Testクラスのメンバ関数int power()ということです。

まあC++では基本的な部分ですね。

しかしこれ作ったあとにしったのですが、

cmathだったかな?ライブラリにpow()っていうべき乗を返す関数が既に定義済でした。

知らなかったですわー

まあ簡単なアルゴリズムの勉強になったかな・・・と思う事にしましたw

新学期なので【1日1プログラミング】

こんばんは。ゼノンです。

明日から新学期がスタートするので、

ここは1つ新たな目標を掲げてみます。

私は将来プログラマーになりたいとかそういうわけではないですが、

自分の技術向上&勉強のために企画を立ち上げてみます。

【1日1プログラミング】です。

内容は至ってシンプル。

ただ1日に一個ソースを書いてビルドするだけ。

内容は問わないし、言語も問わない。

でもおそらくはC++になります。

ここにうpするかはまだわかりません。

いまのところ私個人で始める企画ですが、一緒に頑張ろうぜ!って方が居らっしゃるなら嬉しいです。

Cのみと言いましたが、

Androidの実機が手に入るならJavaもやっていきます。

テストなど、煩い期間もありますが、なんとか1年間頑張ります。

それではさようなら!
1 | 2 | 3 | 4 | 5 | 最初次のページへ >>