2014-09-04 176 views
1

我的表單中有一個進度條,我需要更改它的顏色。我需要它是黃色,因此我使用此代碼:更改進度條顏色

SendMessage(ProgressBar5.Handle, PBM_SETBARCOLOR, 0, clYellow); 

我使用的拉撒路,我無法用SendMessage();程序。然後我搜索了一下,發現我需要在使用庫中包含lclintf庫。

現在我有另一個麻煩,因爲拉撒路無法識別參數PBM_SETBARCOLOR。事實上,它指出:

unit5.pas(245,50) Error: Identifier not found "PBM_SETBARCOLOR"; 

我看到我寫的第一行代碼是從綠色變爲一個進度條的顏色爲一個我需要的唯一途徑。

任何幫助?我正在使用最新版本的拉撒路。

+0

這是因爲該常量(因此功能)是特定於Windows。當你使用Lazarus時,你顯然不使用Windows。否則,如果它使用的是Windows API,那麼如果啓用了主題,則它也不起作用。請參閱:http://msdn.microsoft.com/en-us/library/windows/desktop/bb760838(v=vs.85).aspx – 2014-09-04 23:19:49

+0

此外,一個簡單的Google搜索給了我這樣的結果:http:/ /forum.lazarus.freepascal.org/index.php?topic=9545.0 – 2014-09-04 23:22:28

+2

@Jerry:「當你使用Lazarus時,你顯然不使用Windows」爲什麼? – 2014-09-04 23:25:17

回答

8

PBM_SETBARCOLOR在freepascal的commctrl.pp單元中聲明,與Delphi中相同。

您也可以將其聲明爲值爲1033(WM_USER + 9)的常量。