| |
| Posted by Vinod K Chandran in reply to Mike Parker | PermalinkReply |
|
Vinod K Chandran
Posted in reply to Mike Parker
| 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 ;
}
|