LIBURANIA
GUI library (a wrapper of Win32 API) in C++
読み取り中…
検索中…
一致する文字列を見つけられません
wbase.h
[詳解]
1/*
2 * Copyright 2002-2021 oZ/acy (名賀月晃嗣)
3 * Redistribution and use in source and binary forms,
4 * with or without modification,
5 * are permitted provided that the following conditions are met:
6 *
7 * 1. Redistributions of source code must retain the above copyright notice,
8 * this list of conditions and the following disclaimer.
9 *
10 * 2. Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
16 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
21 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
22 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
23 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
24 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
26 */
41#ifndef INCLUDE_GUARD_URANIA_WINDOW_BASE_H
42#define INCLUDE_GUARD_URANIA_WINDOW_BASE_H
43
44#include <eunomia/noncopyable.h>
45#include <eunomia/rect.h>
46#include "system.h"
47
48
54class urania::WndBase : eunomia::Noncopyable<urania::WndBase>
55{
56protected:
57 HWND hw_;
58
59private:
60 bool dst_;
61
62public:
63 WndBase() noexcept : hw_(NULL), dst_(false) {}
64 virtual ~WndBase() = default;
65
66
67protected:
73 void link_(HWND h)
74 {
75 attach_(h);
76 if (hw_)
77 dst_ = true;
78 }
79
84 void kill_()
85 {
86 if (dst_ && hw_)
87 ::DestroyWindow(hw_);
88 detach_();
89 }
90
95 void attach_(HWND h)
96 {
97 kill_();
98 hw_ = h;
99 }
100
104 void detach_()
105 {
106 hw_ = NULL;
107 dst_ = false;
108 }
109
110
116 virtual void init_(HWND) =0;
117
123 virtual void uninit_() =0;
124
129 virtual void destroyWindow_() =0;
130
138 {
139 if (hw_) {
140 uninit_();
142 }
143 }
144
150 {
151 if (hw_) {
152 uninit_();
153 detach_();
154 }
155 }
156
157 //===========================================
158 // 派生クラスで使う "カプセル破り"
159 //===========================================
161 static HINSTANCE getHI_()
162 {
163 return System::hi_S;
164 }
165
166
167public:
173 static HWND getHWND(const urania::WndBase* wb)
174 {
175 if (wb)
176 return wb->hw_;
177 else
178 return NULL;
179 }
180
181public:
183 // Window本体操作系
185
188
191 void resetTitle(const std::wstring& ttl)
192 {
193 if (hw_)
194 ::SendMessage(hw_, WM_SETTEXT, 0, (ULONG_PTR)(ttl.c_str()));
195 }
196
198 void close()
199 {
200 if (hw_)
201 ::PostMessage(hw_, WM_CLOSE, 0, 0);
202 }
203
205 void show()
206 {
207 if (hw_)
208 ::ShowWindow(hw_, SW_SHOW);
209 }
210
212 void hide()
213 {
214 if (hw_)
215 ::ShowWindow(hw_, SW_HIDE);
216 }
217
219 void maximize()
220 {
221 if (hw_)
222 ::ShowWindow(hw_, SW_MAXIMIZE);
223 }
224
226 void minimize()
227 {
228 if (hw_)
229 ::ShowWindow(hw_, SW_MINIMIZE);
230 }
231
234 {
235 if (hw_)
236 ::ShowWindow(hw_, SW_RESTORE);
237 }
238
239 //========================================================
245 //========================================================
246 void move(int x, int y)
247 {
248 if (hw_)
249 ::SetWindowPos(hw_, NULL, x, y, 0, 0, SWP_NOSIZE|SWP_NOZORDER);
250 }
251
252 //==============================================
259 //==============================================
260 void postMessage(UINT msg, WPARAM wp, LPARAM lp)
261 {
262 if (hw_)
263 ::PostMessage(hw_, msg, wp, lp);
264 }
265
266
268 // Window本体情報取得系
272 {
273 if (!hw_)
274 return 0;
275 RECT rc;
276 ::GetWindowRect(hw_, &rc);
277 return rc.right - rc.left;
278 }
280 int width() { return getWidth(); }
281
284 {
285 if (!hw_)
286 return 0;
287 RECT rc;
288 ::GetWindowRect(hw_, &rc);
289 return rc.bottom - rc.top;
290 }
292 int height() { return getHeight(); }
293
298 bool getWidthAndHeight(int& w, int& h)
299 {
300 if (!hw_)
301 return false;
302 RECT rc;
303 ::GetWindowRect(hw_, &rc);
304 w = rc.right - rc.left;
305 h = rc.bottom - rc.top;
306 return true;
307 }
308
309 /* 仕樣に疑問有り 一端削除
310 polymnia::Rect getRect()
311 {
312 polymnia::Rect re(0, 0, 0, 0);
313 if (hw_)
314 {
315 RECT rc;
316 ::GetWindowRect(hw_, &rc);
317 re.x2 = rc.right - rc.left;
318 re.y2 = rc.bottom - rc.top;
319 }
320 return re;
321 }
322 */
323
324
326 // コントロールの有效化/無效化
330 void enableCtrl(int id)
331 {
332 HWND w = GetDlgItem(hw_, id);
333 ::EnableWindow(w, TRUE);
334 }
337 void disableCtrl(int id)
338 {
339 HWND w = GetDlgItem(hw_, id);
340 ::EnableWindow(w, FALSE);
341 }
342
344 // コントロール生成系
349 void createEditBox(int id, const eunomia::AnotherRect& re)
350 {
351 CreateWindow(
352 L"EDIT", L"", WS_CHILD | WS_VISIBLE | WS_BORDER,
353 re.x, re.y, re.width, re.height,
354 hw_, reinterpret_cast<HMENU>(id), getHI_(), nullptr);
355 }
356
360 void createMultiLineEditBox(int id, const eunomia::AnotherRect& re)
361 {
362 CreateWindow(L"EDIT", L"",
363 WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE | ES_NOHIDESEL |
364 ES_WANTRETURN | ES_AUTOVSCROLL | WS_VSCROLL,
365 re.x, re.y, re.width, re.height,
366 hw_, reinterpret_cast<HMENU>(id), getHI_(), nullptr);
367 }
368
372 void createListBox(int id, const eunomia::AnotherRect& re)
373 {
374 CreateWindow(
375 L"LISTBOX", L"",
376 WS_CHILD | WS_VISIBLE | WS_BORDER | LBS_DISABLENOSCROLL | WS_VSCROLL,
377 re.x, re.y, re.width, re.height,
378 hw_, reinterpret_cast<HMENU>(id), getHI_(), nullptr);
379 }
380
384 void createComboBox(int id, const eunomia::AnotherRect& re)
385 {
386 CreateWindow(
387 L"COMBOBOX", L"",
388 WS_CHILD | WS_VISIBLE | WS_VSCROLL
389 | CBS_DISABLENOSCROLL | CBS_DROPDOWNLIST,
390 re.x, re.y, re.width, re.height,
391 hw_, reinterpret_cast<HMENU>(id), getHI_(), nullptr);
392 }
393
399 int id, const std::wstring& str, const eunomia::AnotherRect& re)
400 {
401 CreateWindow(
402 L"BUTTON", str.c_str(), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
403 re.x, re.y, re.width, re.height,
404 hw_, reinterpret_cast<HMENU>(id), getHI_(), nullptr);
405 }
406
412 int id, const std::wstring& str, const eunomia::AnotherRect& re)
413 {
414 CreateWindow(
415 L"STATIC", str.c_str(), WS_CHILD | WS_VISIBLE | SS_LEFT,
416 re.x, re.y, re.width, re.height,
417 hw_, reinterpret_cast<HMENU>(id), getHI_(), nullptr);
418 }
419
425 int id, const std::wstring& str, const eunomia::AnotherRect& re)
426 {
427 CreateWindow(
428 L"BUTTON", str.c_str(), WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX,
429 re.x, re.y, re.width, re.height,
430 hw_, reinterpret_cast<HMENU>(id), getHI_(), nullptr);
431 }
432
433
435 // EditBox操作系
440 std::wstring getTextEB(int id);
441
445 void setEBText(int id, const std::wstring& txt)
446 {
447 HWND w = ::GetDlgItem(hw_, id);
448 ::SendMessage(w, WM_SETTEXT, 0, (LPARAM)(txt.c_str()));
449 }
450
453 void clearEB(int id)
454 {
455 HWND w = ::GetDlgItem(hw_, id);
456 ::SendMessage(w, WM_CLEAR, 0, 0);
457 }
458
461 void copyEB(int id)
462 {
463 HWND w = ::GetDlgItem(hw_, id);
464 ::SendMessage(w, WM_COPY, 0, 0);
465 }
466
469 void cutEB(int id)
470 {
471 HWND w = ::GetDlgItem(hw_, id);
472 ::SendMessage(w, WM_CUT, 0, 0);
473 }
474
477 void pasteEB(int id)
478 {
479 HWND w = ::GetDlgItem(hw_, id);
480 ::SendMessage(w, WM_PASTE, 0, 0);
481 }
482
486 bool canUndoEB(int id)
487 {
488 HWND w = ::GetDlgItem(hw_, id);
489 if (::SendMessage(w, EM_CANUNDO, 0, 0))
490 return true;
491 else
492 return false;
493 }
494
497 void undoEB(int id)
498 {
499 HWND w = ::GetDlgItem(hw_, id);
500 ::SendMessage(w, EM_UNDO, 0, 0);
501 }
502
507 std::wstring getLineTextEB(int id, int li);
508
512 int countLineEB(int id)
513 {
514 HWND w = ::GetDlgItem(hw_, id);
515 return ::SendMessage(w, EM_GETLINECOUNT, 0, 0);
516 }
517
518
520 // ListBox操作系
526 std::wstring getItemLB(int id, int no);
527
531 void addItemLB(int id, const std::wstring& txt)
532 {
533 HWND w = ::GetDlgItem(hw_, id);
534 ::SendMessage(w, LB_ADDSTRING, 0, (LPARAM)(txt.c_str()));
535 }
536
541 void insertItemLB(int id, int no, const std::wstring& txt)
542 {
543 HWND w = ::GetDlgItem(hw_, id);
544 ::SendMessage(w, LB_INSERTSTRING, no, (LPARAM)(txt.c_str()));
545 }
546
550 void deleteItemLB(int id, int no)
551 {
552 HWND w = ::GetDlgItem(hw_, id);
553 ::SendMessage(w, LB_DELETESTRING, no, 0);
554 }
555
558 int countItemLB(int id)
559 {
560 HWND w = ::GetDlgItem(hw_, id);
561 return ::SendMessage(w, LB_GETCOUNT, 0, 0);
562 }
563
567 int getCurrentLB(int id)
568 {
569 HWND w = ::GetDlgItem(hw_, id);
570 int r = ::SendMessage(w, LB_GETCURSEL, 0, 0);
571 if (r == LB_ERR)
572 return -1;
573 else
574 return r;
575 }
576
580 void setCurrentLB(int id, int no)
581 {
582 HWND w = ::GetDlgItem(hw_, id);
583 ::SendMessage(w, LB_SETCURSEL, no, 0);
584 }
585
588 void clearLB(int id)
589 {
590 HWND w = ::GetDlgItem(hw_, id);
591 ::SendMessage(w, LB_RESETCONTENT, 0, 0);
592 }
593
608 void dirLB(int id, const std::wstring& path, int flag);
609
610
612 // ComboBox操作系
618 std::wstring getItemCB(int id, int no);
619
623 void addItemCB(int id, const std::wstring& txt)
624 {
625 HWND w = ::GetDlgItem(hw_,id);
626 ::SendMessage(w,CB_ADDSTRING, 0, (LPARAM)(txt.c_str()));
627 }
628
633 void insertItemCB(int id, int no, const std::wstring& txt)
634 {
635 HWND w = ::GetDlgItem(hw_,id);
636 ::SendMessage(w,CB_INSERTSTRING,no,(LPARAM)(txt.c_str()));
637 }
638
642 void deleteItemCB(int id, int no)
643 {
644 HWND w = ::GetDlgItem(hw_,id);
645 ::SendMessage(w,CB_DELETESTRING,no,0);
646 }
647
650 int countItemCB(int id)
651 {
652 HWND w = ::GetDlgItem(hw_,id);
653 return ::SendMessage(w,CB_GETCOUNT,0,0);
654 }
655
659 int getCurrentCB(int id)
660 {
661 HWND w = ::GetDlgItem(hw_, id);
662 int r = ::SendMessage(w, CB_GETCURSEL, 0, 0);
663 if (r == CB_ERR)
664 return -1;
665 else
666 return r;
667 }
668
672 void setCurrentCB(int id, int no)
673 {
674 HWND w = ::GetDlgItem(hw_, id);
675 ::SendMessage(w, CB_SETCURSEL, no, 0);
676 }
677
680 void clearCB(int id)
681 {
682 HWND w = ::GetDlgItem(hw_,id);
683 ::SendMessage(w, CB_RESETCONTENT, 0, 0);
684 }
685
700 void dirCB(int id, const std::wstring& path, int flag);
701
702
703 //================================
704 // CheckBox 等の状態取得
705 //================================
709 bool isChecked(int id)
710 {
711 return IsDlgButtonChecked(hw_, id);
712 }
713
714
716 // 横スクロールバー操作系
720 {
721 return getPosSB(ID_SBH);
722 }
724 void setPosHSB(int pos)
725 {
726 setPosSB(ID_SBH, pos);
727 }
728
733 void getRangeHSB(int& min, int& max, int& page)
734 {
735 getRangeSB(ID_SBH, min, max, page);
736 }
737
742 void setRangeHSB(int min, int max, int page)
743 {
744 setRangeSB(ID_SBH, min, max, page);
745 }
746
749 {
751 }
752
755 {
757 }
758
759
761 // 縦スクロールバー操作系
765 {
766 return getPosSB(ID_SBV);
767 }
768
770 void setPosVSB(int pos)
771 {
772 setPosSB(ID_SBV, pos);
773 }
774
779 void getRangeVSB(int& min, int& max, int& page)
780 {
781 getRangeSB(ID_SBV, min, max, page);
782 }
783
788 void setRangeVSB(int min, int max, int page)
789 {
790 setRangeSB(ID_SBV, min, max, page);
791 }
792
795 {
797 }
798
801 {
803 }
804
806 // 共通 (2012.5.13以降追加; 2016.2.27改名)
810 int getPosSB(int id);
811
815 void setPosSB(int id, int pos);
816
822 void getRangeSB(int id, int& min, int& max, int& page);
823
829 void setRangeSB(int id, int min, int max, int page);
830
832 // ID付スクロールバー用 (2016.2.27再實裝)
836 void enableSB(int id)
837 {
838 if (!hw_)
839 return;
840
841 if (id == ID_SBH)
842 ::EnableScrollBar(hw_, SB_HORZ, ESB_ENABLE_BOTH);
843 else if (id == ID_SBV)
844 ::EnableScrollBar(hw_, SB_VERT, ESB_ENABLE_BOTH);
845 else {
846 HWND w = ::GetDlgItem(hw_, id);
847 ::EnableScrollBar(w, SB_CTL, ESB_ENABLE_BOTH);
848 }
849 }
850
853 void disableSB(int id)
854 {
855 if (!hw_)
856 return;
857
858 if (id == ID_SBH)
859 ::EnableScrollBar(hw_, SB_HORZ, ESB_DISABLE_BOTH);
860 else if (id == ID_SBV)
861 ::EnableScrollBar(hw_, SB_VERT, ESB_DISABLE_BOTH);
862 else {
863 HWND w = ::GetDlgItem(hw_, id);
864 ::EnableScrollBar(w, SB_CTL, ESB_DISABLE_BOTH);
865 }
866 }
867
868};
869
870
871
872#endif // INCLUDE_GUARD_URANIA_WINDOW_BASE_H
HWND管理用基底クラス
Definition wbase.h:55
void deleteItemCB(int id, int no)
コンボボックスの項目の削除
Definition wbase.h:642
void disableCtrl(int id)
コントロールの無效化
Definition wbase.h:337
void move(int x, int y)
ウィンドウの移動
Definition wbase.h:246
void createComboBox(int id, const eunomia::AnotherRect &re)
コンボボックス生成
Definition wbase.h:384
void setCurrentCB(int id, int no)
コンボボックスの選擇項目の設定
Definition wbase.h:672
void link_(HWND h)
HWNDの強固な連結
Definition wbase.h:73
void dirLB(int id, const std::wstring &path, int flag)
リストボックスへの指定ディレクトリの内容の反映
Definition ctrl.cpp:100
void destroy()
ウィンドウの破棄
Definition wbase.h:187
void deleteItemLB(int id, int no)
リストボックスの項目の削除
Definition wbase.h:550
void setRangeVSB(int min, int max, int page)
垂直スクロールバーの範圍の設定
Definition wbase.h:788
void clearLB(int id)
リストボックスの内容の消去
Definition wbase.h:588
int getPosVSB()
垂直スクロールバーの位置の取得
Definition wbase.h:764
int countLineEB(int id)
複數行エディットボックスの行數の取得
Definition wbase.h:512
WndBase() noexcept
Definition wbase.h:63
void attach_(HWND h)
HWNDの連結
Definition wbase.h:95
void insertItemCB(int id, int no, const std::wstring &txt)
コンボボックスへの項目の插入
Definition wbase.h:633
void undoEB(int id)
直前動作の取り消し
Definition wbase.h:497
void setPosSB(int id, int pos)
スクロールバーの位置の設定
Definition ctrl_sb.cpp:75
void addItemCB(int id, const std::wstring &txt)
コンボボックスへの項目の追加
Definition wbase.h:623
int getWidth()
ウィンドウ幅を取得
Definition wbase.h:271
bool getWidthAndHeight(int &w, int &h)
ウィンドウの幅と高さの取得
Definition wbase.h:298
void deleting_()
オブジェクト側からHWNDを破棄
Definition wbase.h:137
void maximize()
ウィンドウの最大化
Definition wbase.h:219
void insertItemLB(int id, int no, const std::wstring &txt)
リストボックスへの項目の插入
Definition wbase.h:541
void show()
ウィンドウの表示
Definition wbase.h:205
int getCurrentLB(int id)
選擇中のリストボックスの項目番號の取得
Definition wbase.h:567
HWND hw_
管理對象のHWND
Definition wbase.h:57
void setEBText(int id, const std::wstring &txt)
エディットボックスの内容の設定
Definition wbase.h:445
virtual void init_(HWND)=0
メッセージ處理系初期化
int countItemLB(int id)
リストボックスの項目數の取得
Definition wbase.h:558
void setPosHSB(int pos)
水平スクロールバーの位置の設定
Definition wbase.h:724
void cutEB(int id)
選擇文字列のクリップボードへのコピー及び削除
Definition wbase.h:469
void enableVSB()
垂直スクロールバーの有效化
Definition wbase.h:794
void dirCB(int id, const std::wstring &path, int flag)
コンボボックスへの指定ディレクトリの内容の反映
Definition ctrl.cpp:126
void clearCB(int id)
コンボボックスの内容の消去
Definition wbase.h:680
void clearEB(int id)
エディットボックスの内容の消去
Definition wbase.h:453
void postMessage(UINT msg, WPARAM wp, LPARAM lp)
メッセージ送出
Definition wbase.h:260
virtual void uninit_()=0
メッセージ處理系初期化解除
void disableHSB()
水平スクロールバーの無效化
Definition wbase.h:754
int getCurrentCB(int id)
コンボボックスの選擇中の項目の番號の取得
Definition wbase.h:659
void hide()
ウィンドウの隱蔽
Definition wbase.h:212
int countItemCB(int id)
コンボボックスの項目數の取得
Definition wbase.h:650
void createListBox(int id, const eunomia::AnotherRect &re)
リストボックス生成
Definition wbase.h:372
void normalize()
ウィンドウの復原
Definition wbase.h:233
static HWND getHWND(const urania::WndBase *wb)
HWNDの取得
Definition wbase.h:173
void createCheckBox(int id, const std::wstring &str, const eunomia::AnotherRect &re)
チェックボックス生成
Definition wbase.h:424
std::wstring getItemCB(int id, int no)
コンボボックスの項目の取得
Definition ctrl.cpp:112
int width()
ウィンドウ幅の取得
Definition wbase.h:280
std::wstring getLineTextEB(int id, int li)
複數行エディットボックスからの一行の取得
Definition ctrl.cpp:65
void close()
ウィンドウの閉止
Definition wbase.h:198
virtual ~WndBase()=default
std::wstring getTextEB(int id)
エディットボックスの内容の取得
Definition ctrl.cpp:45
void disableSB(int id)
スクロールバーの無效化
Definition wbase.h:853
void detach_()
HWNDの切り離し
Definition wbase.h:104
int height()
ウィンドウの高さの取得
Definition wbase.h:292
void getRangeHSB(int &min, int &max, int &page)
水平スクロールバーの範圍の取得
Definition wbase.h:733
void pasteEB(int id)
クリップボードからの文字列のペースト
Definition wbase.h:477
void kill_()
HWNDの切り離しと破棄
Definition wbase.h:84
void enableSB(int id)
スクロールバーの有效化
Definition wbase.h:836
int getHeight()
ウィンドウの高さを取得
Definition wbase.h:283
int getPosSB(int id)
スクロールバーの位置の取得
Definition ctrl_sb.cpp:41
void createLabel(int id, const std::wstring &str, const eunomia::AnotherRect &re)
ラベル生成
Definition wbase.h:411
void enableCtrl(int id)
コントロールの有效化
Definition wbase.h:330
void createMultiLineEditBox(int id, const eunomia::AnotherRect &re)
複數行エディットボックスの生成
Definition wbase.h:360
void minimize()
ウィンドウの最小化
Definition wbase.h:226
bool isChecked(int id)
チェックボックスなどのチェックの有無の取得
Definition wbase.h:709
bool canUndoEB(int id)
直前動作の取り消しの可否の確認
Definition wbase.h:486
static HINSTANCE getHI_()
派生クラスがHINSTANCEを取得するための"カプセル破り"
Definition wbase.h:161
std::wstring getItemLB(int id, int no)
リストボックスの項目の取得
Definition ctrl.cpp:86
void getRangeVSB(int &min, int &max, int &page)
垂直スクロールバーの範圍の取得
Definition wbase.h:779
void disableVSB()
垂直スクロールバーの無效化
Definition wbase.h:800
void setRangeSB(int id, int min, int max, int page)
スクロールバーの範圍の設定
Definition ctrl_sb.cpp:146
void getRangeSB(int id, int &min, int &max, int &page)
スクロールバーの範圍の取得
Definition ctrl_sb.cpp:109
void enableHSB()
水平スクロールバーの有效化
Definition wbase.h:748
void setRangeHSB(int min, int max, int page)
水平スクロールバーの範圍の設定
Definition wbase.h:742
virtual void destroyWindow_()=0
ウィンドウ破棄の實處理
int getPosHSB()
水平スクロールバーの位置の取得
Definition wbase.h:719
void setPosVSB(int pos)
垂直スクロールバーの位置の設定
Definition wbase.h:770
void setCurrentLB(int id, int no)
リストボックスの選擇項目の設定
Definition wbase.h:580
void resetTitle(const std::wstring &ttl)
ウィンドウタイトルの變更
Definition wbase.h:191
void destroyed_()
HWNDが破棄された時の後處理
Definition wbase.h:149
void addItemLB(int id, const std::wstring &txt)
リストボックスへの項目の追加
Definition wbase.h:531
void createPushButton(int id, const std::wstring &str, const eunomia::AnotherRect &re)
ボタン生成
Definition wbase.h:398
void copyEB(int id)
クリップボードへの選擇文字列のコピー
Definition wbase.h:461
void createEditBox(int id, const eunomia::AnotherRect &re)
エディットボックス生成
Definition wbase.h:349
@ ID_SBH
Definition decl.h:119
@ ID_SBV
Definition decl.h:118
システム管理