Question about property & method access scope.
Vinod K Chandran
kcvinu82 at gmail.com
Tue May 11 11:05:41 UTC 2021
On Tuesday, 11 May 2021 at 10:48:03 UTC, Mike Parker wrote:
> On Tuesday, 11 May 2021 at 09:10:02 UTC, Vinod K Chandran wrote:
>
>> So in many situations, I need to check some boolean properties
>> of Window class and call some functions of Window class in
>> WndProc.
>> But I don't want to expose those props and functions to the
>> user. So if I make them private, I can't access them inside
>> the WndProc function. How do solve this issue. Thanks in
>> advance.
>
> Assuming window.d and wndproc.d are in the same package (and
> not the default global package), then you can use `package`
> instead of `private`.
On Tuesday, 11 May 2021 at 10:48:03 UTC, Mike Parker wrote:
>
> Assuming window.d and wndproc.d are in the same package (and
> not the default global package), then you can use `package`
> instead of `private`.
Thanks. "package" scope worked.
this is the code now.
```d
package :
bool misBkClrChanged ;
void setBkClrInternal(HDC dcHandle)
{
RECT rct;
HBRUSH hBr = CreateSolidBrush(cast(COLORREF)
this.mBackColor);
GetClientRect(this.mHandle, &rct) ;
FillRect(dcHandle, &rct, hBr) ;
DeleteObject(hBr) ;
}
// And this is the wndproc
case WM_ERASEBKGND :
{
if(win.misBkClrChanged)
{
auto dch = cast(HDC) wParam ;
win.setBkClrInternal(dch) ;
return 1 ;
} }
break ;
}
```
More information about the Digitalmars-d-learn
mailing list