Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat membuat bilah status dengan menggunakan fungsiCreateStatusWindow atau dengan menggunakan fungsiCreateWindowEx dan menentukan kelas jendelaSTATUSCLASSNAME.
Setelah membuat bilah status, Anda dapat membaginya menjadi beberapa bagian, mengatur teks untuk setiap bagian, dan mengontrol tampilan jendela dengan menggunakan pesan bilah status.
Nota
Untuk memastikan bahwa DLL kontrol umum dimuat, gunakan fungsi InitCommonControls terlebih dahulu.
Apa yang perlu Anda ketahui
Teknologi
Prasyarat
- C/C++
- Pemrograman Antarmuka Pengguna Windows
Peraturan
Membuat Bilah Status
Contoh berikut menunjukkan cara membuat bilah status yang memiliki pegangan ukuran dan membagi jendela menjadi empat bagian yang sama berdasarkan lebar area klien jendela induk.
// Description:
// Creates a status bar and divides it into the specified number of parts.
// Parameters:
// hwndParent - parent window for the status bar.
// idStatus - child window identifier of the status bar.
// hinst - handle to the application instance.
// cParts - number of parts into which to divide the status bar.
// Returns:
// The handle to the status bar.
//
HWND DoCreateStatusBar(HWND hwndParent, int idStatus, HINSTANCE
hinst, int cParts)
{
HWND hwndStatus;
RECT rcClient;
HLOCAL hloc;
PINT paParts;
int i, nWidth;
// Ensure that the common control DLL is loaded.
InitCommonControls();
// Create the status bar.
hwndStatus = CreateWindowEx(
0, // no extended styles
STATUSCLASSNAME, // name of status bar class
(PCTSTR) NULL, // no text when first created
SBARS_SIZEGRIP | // includes a sizing grip
WS_CHILD | WS_VISIBLE, // creates a visible child window
0, 0, 0, 0, // ignores size and position
hwndParent, // handle to parent window
(HMENU) idStatus, // child window identifier
hinst, // handle to application instance
NULL); // no window creation data
// Get the coordinates of the parent window's client area.
GetClientRect(hwndParent, &rcClient);
// Allocate an array for holding the right edge coordinates.
hloc = LocalAlloc(LHND, sizeof(int) * cParts);
paParts = (PINT) LocalLock(hloc);
// Calculate the right edge coordinate for each part, and
// copy the coordinates to the array.
nWidth = rcClient.right / cParts;
int rightEdge = nWidth;
for (i = 0; i < cParts; i++) {
paParts[i] = rightEdge;
rightEdge += nWidth;
}
// Tell the status bar to create the window parts.
SendMessage(hwndStatus, SB_SETPARTS, (WPARAM) cParts, (LPARAM)
paParts);
// Free the array, and return.
LocalUnlock(hloc);
LocalFree(hloc);
return hwndStatus;
}
Topik terkait