반응형
Hungarian Notation
Win32 follows a notation convention called Hungarian Notation. In Hungarian Notation the
first character or first several characters of a variable or parameter name identifies that
variable or parameters type. Here are some of the most common Hungarian Notation
prefixes:
b or f—used as a prefix for booleans (f stands for flag).
c—used as a prefix to chars.1
n—used as a prefix to shorts.
h—used as a prefix for a handle. Handles in Win32 are numbers used to identify resources or
windows. They are not pointers or pointers to pointers. Think of them as ID numbers.
l—used as a prefix to a long.
w—used as a prefix to a word.
dw—used as a prefix to a double word.
s—used as a prefix to a string.
sz—used as a prefix to a null-terminated string.2
p—used as a prefix to a pointer.
lp—used as a prefix to a long pointer (this is the same as a pointer in Win32 and is a relic
from Win16).
fn—used as a prefix to function parameters.
Win32 Data Types
Win32 includes its own set of data types. These data types are usually written with all capital
letters and are typically #defined or typedef’ed somewhere in the Windows header files.
They often follow similar conventions to Hungarian Notation. An H before a data type name,
for example represents a handle while an LP represents a long pointer.
Most of them are pretty obvious WORD, for example is obviously a word (which is a 16-bit
unsigned integer in Win32). Here are a few of the more common types you should be
familiar with:
LPSTR—long pointer to a string (equivalent to a pointer to a string for Win32).
LPCSTR—long pointer to a constant string.
BOOL—a Windows’ Boolean. Note that this is not quite the same as a C++ bool, use the
constants TRUE and FALSE with Windows’ BOOLs and true and false with C++
bools.
UINT—unsigned integer.
Win32 Constants
An identifier with all uppercase characters may also represent a constant integer value. In
this case, the first two characters are followed by an underscore and the first two characters
identify the type of constant. For example WM_COMMAND constant integer which
identifies a particular windows message. ES_RIGHT is a constant integer which can be used
to request a particular style of edit window (one in which the text is right aligned).
LVS_REPORT is a constant integer which is used to request a list control with list view style
including multi-column report display format.
MFC Naming
MFC has its own set of naming conventions:
m_—all member variables are preceded with an m_.
On—all message handlers function should be preceded with On (e.g., OnSize). Note
however, that not all functions that begin with On are true Win32 message handlers. For
example OnInitialUpdate is not a Win32 message handler, and there is no corresponding
WM_INITIALUPDATE Windows message.
출처 : http://web.stanford.edu/
반응형
'System Programmings > C++' 카테고리의 다른 글
동적 할당 방법 (0) | 2015.10.29 |
---|---|
[C++] 클래스 객체간의 연산을 도와주는 operator (0) | 2014.12.06 |
[C++] 가상 함수 (0) | 2014.10.16 |
[C++] 이미지 바이너리 읽기 (4) | 2014.03.10 |
[C++] 퀵 정렬 (Quick Sort) C++ 이용한 다른 소스 (2) | 2010.10.06 |