Windows - Get HWND from TreeView for GetScrollInfo?
I'm new to Windows programming and trying to get the position of a TreeView's scroll bar.
SCROLLINFO scrollInfo;
ZeroMemory(&scrollInfo, sizeof(scrollInfo));
scrollInfo.cbSize = sizeof(scrollInfo);
scrollInfo.fMask = SIF_TRACKPOS;
tbool gotScrollInfo = GetScrollInfo(poTreeView->Handle, SB_VERT, &scrollInfo);
I get an error:
'BOOL GetScrollInfo(HWND,int,LPSCROLLINFO)': cannot convert argument 1 from 'System::IntPtr' to 'HWND'.
I've looked online and cannot find how to get from the TreeView pointer to an HWND
. Windows' documentation assumes you already have the HWND.
I've seen other places where people use TreeView.hwnd
or cast TreeView.Handle
to an IntPtr
- I guess the function used to take that instead of an HWND
?
Does anyone know how to do this? this should be super simple, but I can't find the answer.
.net winapi treeview hwnd
add a comment |
I'm new to Windows programming and trying to get the position of a TreeView's scroll bar.
SCROLLINFO scrollInfo;
ZeroMemory(&scrollInfo, sizeof(scrollInfo));
scrollInfo.cbSize = sizeof(scrollInfo);
scrollInfo.fMask = SIF_TRACKPOS;
tbool gotScrollInfo = GetScrollInfo(poTreeView->Handle, SB_VERT, &scrollInfo);
I get an error:
'BOOL GetScrollInfo(HWND,int,LPSCROLLINFO)': cannot convert argument 1 from 'System::IntPtr' to 'HWND'.
I've looked online and cannot find how to get from the TreeView pointer to an HWND
. Windows' documentation assumes you already have the HWND.
I've seen other places where people use TreeView.hwnd
or cast TreeView.Handle
to an IntPtr
- I guess the function used to take that instead of an HWND
?
Does anyone know how to do this? this should be super simple, but I can't find the answer.
.net winapi treeview hwnd
1
What language is that? Post your pinvoke call that you are using for GetScrollInfo. Generally, yes, treeView1.Handle is the HWND you are looking for.
– LarsTech
Nov 15 '18 at 23:16
The.net
tag is useless. What language are you writing your code in? Managed or unmanaged? Where's your declaration forGetScrollInfo()
?
– Ken White
Nov 15 '18 at 23:20
add a comment |
I'm new to Windows programming and trying to get the position of a TreeView's scroll bar.
SCROLLINFO scrollInfo;
ZeroMemory(&scrollInfo, sizeof(scrollInfo));
scrollInfo.cbSize = sizeof(scrollInfo);
scrollInfo.fMask = SIF_TRACKPOS;
tbool gotScrollInfo = GetScrollInfo(poTreeView->Handle, SB_VERT, &scrollInfo);
I get an error:
'BOOL GetScrollInfo(HWND,int,LPSCROLLINFO)': cannot convert argument 1 from 'System::IntPtr' to 'HWND'.
I've looked online and cannot find how to get from the TreeView pointer to an HWND
. Windows' documentation assumes you already have the HWND.
I've seen other places where people use TreeView.hwnd
or cast TreeView.Handle
to an IntPtr
- I guess the function used to take that instead of an HWND
?
Does anyone know how to do this? this should be super simple, but I can't find the answer.
.net winapi treeview hwnd
I'm new to Windows programming and trying to get the position of a TreeView's scroll bar.
SCROLLINFO scrollInfo;
ZeroMemory(&scrollInfo, sizeof(scrollInfo));
scrollInfo.cbSize = sizeof(scrollInfo);
scrollInfo.fMask = SIF_TRACKPOS;
tbool gotScrollInfo = GetScrollInfo(poTreeView->Handle, SB_VERT, &scrollInfo);
I get an error:
'BOOL GetScrollInfo(HWND,int,LPSCROLLINFO)': cannot convert argument 1 from 'System::IntPtr' to 'HWND'.
I've looked online and cannot find how to get from the TreeView pointer to an HWND
. Windows' documentation assumes you already have the HWND.
I've seen other places where people use TreeView.hwnd
or cast TreeView.Handle
to an IntPtr
- I guess the function used to take that instead of an HWND
?
Does anyone know how to do this? this should be super simple, but I can't find the answer.
.net winapi treeview hwnd
.net winapi treeview hwnd
edited Nov 21 '18 at 1:54
Barmak Shemirani
21.6k42448
21.6k42448
asked Nov 15 '18 at 16:14
Bob SBob S
4017
4017
1
What language is that? Post your pinvoke call that you are using for GetScrollInfo. Generally, yes, treeView1.Handle is the HWND you are looking for.
– LarsTech
Nov 15 '18 at 23:16
The.net
tag is useless. What language are you writing your code in? Managed or unmanaged? Where's your declaration forGetScrollInfo()
?
– Ken White
Nov 15 '18 at 23:20
add a comment |
1
What language is that? Post your pinvoke call that you are using for GetScrollInfo. Generally, yes, treeView1.Handle is the HWND you are looking for.
– LarsTech
Nov 15 '18 at 23:16
The.net
tag is useless. What language are you writing your code in? Managed or unmanaged? Where's your declaration forGetScrollInfo()
?
– Ken White
Nov 15 '18 at 23:20
1
1
What language is that? Post your pinvoke call that you are using for GetScrollInfo. Generally, yes, treeView1.Handle is the HWND you are looking for.
– LarsTech
Nov 15 '18 at 23:16
What language is that? Post your pinvoke call that you are using for GetScrollInfo. Generally, yes, treeView1.Handle is the HWND you are looking for.
– LarsTech
Nov 15 '18 at 23:16
The
.net
tag is useless. What language are you writing your code in? Managed or unmanaged? Where's your declaration for GetScrollInfo()
?– Ken White
Nov 15 '18 at 23:20
The
.net
tag is useless. What language are you writing your code in? Managed or unmanaged? Where's your declaration for GetScrollInfo()
?– Ken White
Nov 15 '18 at 23:20
add a comment |
1 Answer
1
active
oldest
votes
Per the Control.Handle
documentation:
An IntPtr that contains the window handle (HWND) of the control.
...
The value of the Handle property is a Windows HWND. If the handle has not yet been created, referencing this property will force the handle to be created.
So yes, you can simply type-cast the IntPtr
to an HWND
, eg:
(HWND)(poTreeView->Handle.ToPointer())
Or
static_cast<HWND>(poTreeView->Handle.ToPointer())
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53323603%2fwindows-get-hwnd-from-treeview-for-getscrollinfo%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Per the Control.Handle
documentation:
An IntPtr that contains the window handle (HWND) of the control.
...
The value of the Handle property is a Windows HWND. If the handle has not yet been created, referencing this property will force the handle to be created.
So yes, you can simply type-cast the IntPtr
to an HWND
, eg:
(HWND)(poTreeView->Handle.ToPointer())
Or
static_cast<HWND>(poTreeView->Handle.ToPointer())
add a comment |
Per the Control.Handle
documentation:
An IntPtr that contains the window handle (HWND) of the control.
...
The value of the Handle property is a Windows HWND. If the handle has not yet been created, referencing this property will force the handle to be created.
So yes, you can simply type-cast the IntPtr
to an HWND
, eg:
(HWND)(poTreeView->Handle.ToPointer())
Or
static_cast<HWND>(poTreeView->Handle.ToPointer())
add a comment |
Per the Control.Handle
documentation:
An IntPtr that contains the window handle (HWND) of the control.
...
The value of the Handle property is a Windows HWND. If the handle has not yet been created, referencing this property will force the handle to be created.
So yes, you can simply type-cast the IntPtr
to an HWND
, eg:
(HWND)(poTreeView->Handle.ToPointer())
Or
static_cast<HWND>(poTreeView->Handle.ToPointer())
Per the Control.Handle
documentation:
An IntPtr that contains the window handle (HWND) of the control.
...
The value of the Handle property is a Windows HWND. If the handle has not yet been created, referencing this property will force the handle to be created.
So yes, you can simply type-cast the IntPtr
to an HWND
, eg:
(HWND)(poTreeView->Handle.ToPointer())
Or
static_cast<HWND>(poTreeView->Handle.ToPointer())
answered Nov 16 '18 at 1:23
Remy LebeauRemy Lebeau
340k19265459
340k19265459
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53323603%2fwindows-get-hwnd-from-treeview-for-getscrollinfo%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
What language is that? Post your pinvoke call that you are using for GetScrollInfo. Generally, yes, treeView1.Handle is the HWND you are looking for.
– LarsTech
Nov 15 '18 at 23:16
The
.net
tag is useless. What language are you writing your code in? Managed or unmanaged? Where's your declaration forGetScrollInfo()
?– Ken White
Nov 15 '18 at 23:20