Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. IAccessible, enable/disable, ...

IAccessible, enable/disable, ...

Scheduled Pinned Locked Moved C / C++ / MFC
questionlearning
6 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    Castorix
    wrote on last edited by
    #1

    Is there a way to hide/show, enable/disable a "child" window with IAccessible ? I can only get some values (::get_accState(), STATE_SYSTEM_INVISIBLE, ...) but cannot set them It is for a "QWidget" window class, where all the childs that I enumerate (AccessibleObjectFromWindow(), AccessibleChildren()and so on) have of course no window handle (the same as the parent in fact) and I cannot use standard apis like EnableWindow() or ShowWindow()

    A 1 Reply Last reply
    0
    • C Castorix

      Is there a way to hide/show, enable/disable a "child" window with IAccessible ? I can only get some values (::get_accState(), STATE_SYSTEM_INVISIBLE, ...) but cannot set them It is for a "QWidget" window class, where all the childs that I enumerate (AccessibleObjectFromWindow(), AccessibleChildren()and so on) have of course no window handle (the same as the parent in fact) and I cannot use standard apis like EnableWindow() or ShowWindow()

      A Offline
      A Offline
      Albert Holguin
      wrote on last edited by
      #2

      Castorix wrote:

      It is for a "QWidget" window class

      I'd imagine you'd want to search the Qt documentation for how to do this.

      Castorix wrote:

      I cannot use standard apis like EnableWindow() or ShowWindow()

      Typically these API's are built over the Windows messaging system, so even though you can't access the calls directly, you can actually still send the message to the Window. If Qt isn't intercepting or doing anything weird with those messages, they may still work (although I'm not sure if the Qt framework still uses regular Windows APIs underneath the hood to make windows when working within the Windows environment).

      C 1 Reply Last reply
      0
      • A Albert Holguin

        Castorix wrote:

        It is for a "QWidget" window class

        I'd imagine you'd want to search the Qt documentation for how to do this.

        Castorix wrote:

        I cannot use standard apis like EnableWindow() or ShowWindow()

        Typically these API's are built over the Windows messaging system, so even though you can't access the calls directly, you can actually still send the message to the Window. If Qt isn't intercepting or doing anything weird with those messages, they may still work (although I'm not sure if the Qt framework still uses regular Windows APIs underneath the hood to make windows when working within the Windows environment).

        C Offline
        C Offline
        Castorix
        wrote on last edited by
        #3

        There is only one real window ("QWidget" class which allows me to use AccessibleObjectFromWindow()) but all childs are not windows, so I cannot send win32 messages. I can enumerate them and read their properties (exactly like AccExplorer32 does), but I did not find a way to change them as I cannot interact directly with them using Win32 messages/apis

        A 1 Reply Last reply
        0
        • C Castorix

          There is only one real window ("QWidget" class which allows me to use AccessibleObjectFromWindow()) but all childs are not windows, so I cannot send win32 messages. I can enumerate them and read their properties (exactly like AccExplorer32 does), but I did not find a way to change them as I cannot interact directly with them using Win32 messages/apis

          A Offline
          A Offline
          Albert Holguin
          wrote on last edited by
          #4

          Castorix wrote:

          There is only one real window ("QWidget" class which allows me to use AccessibleObjectFromWindow()) but all childs are not windows, so I cannot send win32 messages.

          Actually... this depends on the Qt implementation, they might be windows. In MFC, all childs are windows (to some extent, most are derived from the same classes), so you can message any of them.

          Castorix wrote:

          I can enumerate them and read their properties (exactly like AccExplorer32 does), but I did not find a way to change them as I cannot interact directly with them using Win32 messages/apis

          Again, this depends on Qt implementation... but you can send windows messages to ANYTHING that's a window in MS Windows. If within Qt, they simply wrapped the MS lower level APIs, then you can access those windows directly by messaging them. By the way, not because you can do it does it mean you should.

          C 1 Reply Last reply
          0
          • A Albert Holguin

            Castorix wrote:

            There is only one real window ("QWidget" class which allows me to use AccessibleObjectFromWindow()) but all childs are not windows, so I cannot send win32 messages.

            Actually... this depends on the Qt implementation, they might be windows. In MFC, all childs are windows (to some extent, most are derived from the same classes), so you can message any of them.

            Castorix wrote:

            I can enumerate them and read their properties (exactly like AccExplorer32 does), but I did not find a way to change them as I cannot interact directly with them using Win32 messages/apis

            Again, this depends on Qt implementation... but you can send windows messages to ANYTHING that's a window in MS Windows. If within Qt, they simply wrapped the MS lower level APIs, then you can access those windows directly by messaging them. By the way, not because you can do it does it mean you should.

            C Offline
            C Offline
            Castorix
            wrote on last edited by
            #5

            No, I'm talking about a real case where there is a "QWidget" main window and NO real child windows (I can check with Spy++), so I know I cannot send win32 messages and I cannot use Win32 apis on them, because they are not Win32 windows. I did all the code to enumerate pseudo-childs with IAccessible interface and get their properties/states I just wanted to find a way to enable/disable one of these pseudo-windows (a pseudo-button (not a Win32 "Button" class), with no window handle) but it seems impossible.

            A 1 Reply Last reply
            0
            • C Castorix

              No, I'm talking about a real case where there is a "QWidget" main window and NO real child windows (I can check with Spy++), so I know I cannot send win32 messages and I cannot use Win32 apis on them, because they are not Win32 windows. I did all the code to enumerate pseudo-childs with IAccessible interface and get their properties/states I just wanted to find a way to enable/disable one of these pseudo-windows (a pseudo-button (not a Win32 "Button" class), with no window handle) but it seems impossible.

              A Offline
              A Offline
              Albert Holguin
              wrote on last edited by
              #6

              I would assume Qt has methods for all of this... have you checked out their documentation? Although from my own personal experience... I know their documentation isn't very good.

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • World
              • Users
              • Groups