View Full Version : سوال: با چه کدی در طول کدبرنامه میتوانم یک label را حرکت دهم؟
blue bird
چهارشنبه 18 خرداد 1390, 18:30 عصر
با چه کدی در طول کدبرنامه میتوانم یک label را حرکت دهم؟
mehdi.mousavi
پنج شنبه 19 خرداد 1390, 15:02 عصر
با چه کدی در طول کدبرنامه میتوانم یک label را حرکت دهم؟
سلام.
برای اینکار، Label مورد نظر رو روی Dialog قرار بدید و سپس Timer ای برای جابجایی اون Label ایجاد کنید. سپس در Handler مربوطه، با استفاده از کد زیر Static Text (یا به قول شما Label) رو جابجا کنید:
void CMfc01Dlg::OnTimer(UINT_PTR nIDEvent)
{
CWnd *pWnd = GetDlgItem(IDC_STATIC20);
ASSERT(pWnd != NULL);
WINDOWPLACEMENT wndpl;
pWnd->GetWindowPlacement(&wndpl);
wndpl.rcNormalPosition.left++;
pWnd->SetWindowPlacement(&wndpl);
CDialogEx::OnTimer(nIDEvent);
}
اینجا، من ابتدا Pointer به اون Static Text رو میگیرم، سپس جایگاه فعلی اونو روی صفحه با استفاده از متود GetWindowPlacement بدست میارم. در نهایت left اونو، به اندازه یک Pixel اضافه می کنم (تا یک Pixel به سمت راست بیاد) و در نهایت، مقدار تغییر داده شده رو با SetWindowPlacement تثبیت می کنم.
موفق باشید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.