Updating clustered refnums in a custom control

Hello -
Precursor: I am trying to alter an outsourced code we recently received and I am not exactly fluent in LabVIEW.
There are 7 user interface clusters one of which I am looking to alter. The original program has a cluster of refnums, at least I'm pretty sure they are refnums, to each of the user interface clusters in the initiation of the program. If I add a control to one of the user interface clutsers (in my case the general settings cluster) I get a lot of errors (understandably as I will have to go though and alter subsequent codes). However, the error I am having a particularly difficult time overcoming is a "Hidden front panel control has undefined type" in the refnum cluster (see attached for more details). Sorry for only including screen shots, but the program is too large to post.
Any advice/help is appreciated.
Thanks,
Jeremy
Attachments:
InitBlock.JPG ‏78 KB
RefFront.JPG ‏23 KB
ErrorList.JPG ‏55 KB

I had the same problem. This error disappeard when I fixed my other errors. Strange behaviour.
I my attachment I illustrate the problem. This vi has multiple "Hidden front panel control has undefined type" errors. By connecting the case structure the "Hidden front panel control has undefined type" errors disappear.
NacNud
Attachments:
Reference bug.vi ‏8 KB
refnum.ctl ‏8 KB
Reference bug.png ‏15 KB

Similar Messages

  • Update of custom control

    Hello experts,
    I built a program with just 1 screen. This screen consists of 2 sections. Section 1 contains input fields for a selection, section 2 constains a custom control on which the selected data is displayed as pdf. For the creation of the pdf I use smartforms.
    First selection works fine.
    If I do a second selection with other selection values the pdf is not updated but displays the values of the first selection. How can I display the new values?
      IF custom_container IS INITIAL.
        CREATE OBJECT custom_container
              EXPORTING container_name = 'CUSTOM_CONTROL'.
      ENDIF.
      CREATE OBJECT html_viewer
          EXPORTING parent  = custom_container.
    * pdf_string_x in Tabelle konvertieren
      length = XSTRLEN( pdf_string_x ).
      full_lines = length DIV 1000.
      last_length = length MOD 1000.
      CLEAR offset.
      DO full_lines TIMES.
        i_data = pdf_string_x+offset(1000).
        APPEND i_data TO it_data.
        offset = offset + 1000.
      ENDDO.
      i_data = pdf_string_x+offset(last_length).
      APPEND i_data TO it_data.
      CALL METHOD html_viewer->load_data
        EXPORTING
    *    URL                  =
          type                 = 'text'
          subtype              = 'pdf'
    *    SIZE                 = pdf_fsize
    *    ENCODING             =
    *    CHARSET              =
    *    LANGUAGE             =
        IMPORTING
          assigned_url         = url
        CHANGING
          data_table           = it_data[]
    *  EXCEPTIONS
    *    DP_INVALID_PARAMETER = 1
    *    DP_ERROR_GENERAL     = 2
    *    CNTL_ERROR           = 3
    *    others               = 4
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL METHOD cl_gui_cfw=>flush.
      CALL METHOD html_viewer->show_data
        EXPORTING
          url = url.
    Thanks in advance!
    Johannes

    CLEAR IT_DATA[].
      DO full_lines TIMES.
        i_data = pdf_string_x+offset(1000).
        APPEND i_data TO it_data.
        offset = offset + 1000.
      ENDDO.
    Use   CLOSE_DOCUMENT
          or DO_REFRESH method the second time

  • Update Custom Controls Throughout Program

    I am trying to come up with a way to update all of my custom controls throughtout the program without replacing every control individually. (Ex. I have a cluster (custom control) on a shift register which connects to several Vis therefor everytime I make a change to this cluster I must make the change in several places). I would like to only make one change and have it populate throughtout the program. Any Ideas???

    Hi ABB Rob,
    Take a look at saving the custom control as a "Strict Type def". Then replace all of the occurances of that control with the strict type def. Once you have done this, updates tath are saved to the control will be applied to every occurance.
    Note: If you pop-up and create a constant, it will be created based on the current strict type def. Changes will not propogate to these constatnts. Instead of doing the create constant thing, navigate to the strict type def. This will create the constant and link it to the strict def.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Team Foundation Server 2013 Refresh button not refreshing Custom Control values in TFS Templates

    Hi all,
    We have recently migrated from Team Foundation Server 2010 to Team Foundation Server 2013 Update 2. In TFS 2013 template design we found the refresh form control (inbuilt control of TFS) which is unable to refresh the custom control values that is built
    by us. Is there any way that we can programatically modify to enable the refresh button work with custom control.
    Please find below screenshot link for reference.
    http://postimg.org/image/z4mo3t8r9/
    SaranRam

    Hi SaranRam,
    The refresh button is there to allow the data that populated the work item to be refreshed. The data that you want refreshed is part of the rendering of the form and would only be refreshed when the browser refreshes. Refer to MrHinsh's reply in this
    page.
    Best regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Update clusters in sub vi's

    Is there an easier way to update clusters in all my sub vi's?
    For instance I have a cluster of test parameters, not I have to add a new test parameter.
    If I add the new say numeric to the top level vi's parameter cluster it of course breaks all sub vi's because the cluster input no longer matches the cluster control on the sub vi's.
    That means I have to open every sub vi and update the cluster control.
    Solved!
    Go to Solution.

    Replace each of the current clusters with a type def'd version of each. One replaced the cluster will automatically update when the def changes.
    See this nugget on Typ defs.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • How to create a custom control of a button where the look will be applied to all others but not the Boolean text?

    Hi all
    I would like to create a customized button as a master so that if I change the look of the master all other buttons will change too.
    I have done this with a custom control as a "strict type def" otherwise the look will not change BUT If I do this as a strict type def I cannot change the Boolean text anymore which should be different on every button.
    How can I create a master control of a button where the look will be applied to all others but not the Boolean text?
    Stay Hungry, Stay Foolish
    Solved!
    Go to Solution.

    Steve Chandler wrote:
    I don't think you can do that. I just looked and as I suspected the Boolean text property is read only for strict typedefs so you cannot use property nodes to change the text.
    As a workaround just make it a typedef. When you want to change the look open the typedef and make it strict, make your changes, then make it non strict again. You will have to update the Boolean text again for all instances. Kind of a pain. Maybe this is something for the idea exchange.
    Kudos for being sneaky.
    I like these creative work-arounds!
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Using a Meter control in LV Touch Panel, and using shared variables that are custom controls.

    I Just started using LV touch Panel module with an NI TPC-2106.
    I have two differenct problems:
    1) I was planning on using the "Meter" control quite a bit. I can set up the meter exactly how I like on the host PC, but on the touch Panel computer it seems to ignore my adjustments, mainly the start and end of the scale - i.e. I would like control to run from 0 to 360 with 0 straight up, using the entire circle. However, on the Touch panel computer it always puts 0 at about 7 o'clock and 360 at about 5 o'clock. I have also tried adding markers to no avail.
    2) I am communicating with a compact fieldpoint controller. I can creat a shared variable that is a simple double with no problems. However, I have some shared variables that use a custom control for the variable type - bascially a cluster with a couble doubles, a time stamp, and an enumeration. It lets me drag the shared variable into my diagram, but it seems to ignore it when I run it.

    Ipshita_C,
    - I am using LV 8.6.1f1and LV Touch Panel 8.6.1.
    - I have attached a simplified VI that shows how I want to use the meter. Notice that the placement of the endpoitns does not work correctly on the touch panel, and that it ignores the arbitrary markers that I placed.
    - I also have included an XY graph control that displays on the TPC with margins around the graph area that I removed from the graph control.
    - For the shared variable, it appears to be an issue related to the touch panel, not fieldpoint. I found another thread in this forum that mentioned that clusters containing Enumerations do not work in shared variables on the touch panel. I changed the enumeration to an integer and it now works fine.
    In general, there seem to be a disappointing number of limitations in the touch panel implementation. My biggest concern is that I have not found any documentation from NI that lists these limitations. I seem to have to try things out and see what works and what does not work. Can you point me to a comprehensive list of touch panel modules limitations?
    Attachments:
    test 2.vi ‏10 KB

  • How to have custom control in DataGridView display object's value?

    I have a sample project located
    here
    The project has a main form `Form1` where the user can enter customers in a datagridview. The `CustomerType` column is a custom control and when the user clicks the button, a search form `Form2` pops up.
    The search form is populated with a list of type `CustomerType`. The user can select a record by double-clicking on the row, and this object should be set in the custom control. The `DataGridView` should then display the `Description` property but in the background
    each cell should hold the value (ie. the `CustomerType` instance).
    The relevant code is located in the following classes:
    The column class:
    public class DataGridViewCustomerTypeColumn : DataGridViewColumn
    public DataGridViewCustomerTypeColumn()
    : base(new CustomerTypeCell())
    public override DataGridViewCell CellTemplate
    get { return base.CellTemplate; }
    set
    if (value != null && !value.GetType().IsAssignableFrom(typeof(CustomerTypeCell)))
    throw new InvalidCastException("Should be CustomerTypeCell.");
    base.CellTemplate = value;
    The cell class:
    public class CustomerTypeCell : DataGridViewTextBoxCell
    public CustomerTypeCell()
    : base()
    public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle)
    base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle);
    CustomerTypeSearch ctl = DataGridView.EditingControl as CustomerTypeSearch;
    if (this.Value == null)
    ctl.Value = (CustomerType)this.DefaultNewRowValue;
    else
    ctl.Value = (CustomerType)this.Value;
    public override Type EditType
    get { return typeof(CustomerTypeSearch); }
    public override Type ValueType
    get { return typeof(CustomerType); }
    public override object DefaultNewRowValue
    get { return null; }
    And the custom control:
    public partial class CustomerTypeSearch : UserControl, IDataGridViewEditingControl
    private DataGridView dataGridView;
    private int rowIndex;
    private bool valueChanged = false;
    private CustomerType value;
    public CustomerTypeSearch()
    InitializeComponent();
    public CustomerType Value
    get { return this.value; }
    set
    this.value = value;
    if (value != null)
    textBoxSearch.Text = value.Description;
    else
    textBoxSearch.Clear();
    private void buttonSearch_Click(object sender, EventArgs e)
    Form2 f = new Form2();
    DialogResult dr = f.ShowDialog(this);
    if (dr == DialogResult.OK)
    Value = f.SelectedValue;
    #region IDataGridViewEditingControl implementation
    public object EditingControlFormattedValue
    get
    if (this.value != null)
    return this.value.Description;
    else
    return null;
    set
    if (this.value != null)
    this.value.Description = (string)value;
    public object GetEditingControlFormattedValue(DataGridViewDataErrorContexts context)
    return EditingControlFormattedValue;
    public void ApplyCellStyleToEditingControl(DataGridViewCellStyle dataGridViewCellStyle)
    this.BorderStyle = BorderStyle.None;
    this.Font = dataGridViewCellStyle.Font;
    public int EditingControlRowIndex
    get { return rowIndex; }
    set { rowIndex = value; }
    public bool EditingControlWantsInputKey(Keys key, bool dataGridViewWantsInputKey)
    return false;
    public void PrepareEditingControlForEdit(bool selectAll)
    //No preparation needs to be done
    public bool RepositionEditingControlOnValueChange
    get { return false; }
    public DataGridView EditingControlDataGridView
    get { return dataGridView; }
    set { dataGridView = value; }
    public bool EditingControlValueChanged
    get { return valueChanged; }
    set { valueChanged = value; }
    public Cursor EditingPanelCursor
    get { return base.Cursor; }
    #endregion
    private void CustomerTypeSearch_Resize(object sender, EventArgs e)
    buttonSearch.Left = this.Width - buttonSearch.Width;
    textBoxSearch.Width = buttonSearch.Left;
    However, the `DataGridView` is not displaying the text and it also is not keeping the `CustomerType` value for each cell.
    What am I missing?
    Marketplace: [url=http://tinyurl.com/75gc58b]Itza[/url] - Review: [url=http://tinyurl.com/ctdz422]Itza Update[/url]

    Hello,
    1. To display the text, we need to override the ToString method for CustomerType
    public class CustomerType
    public int Id { get; set; }
    public string Description { get; set; }
    public CustomerType(int id, string description)
    this.Id = id;
    this.Description = description;
    public override string ToString()
    return this.Description.ToString();
    2. To get the cell's value changed, we could pass the cell instance to that editing control and get its value changed with the following way.
    public partial class CustomerTypeSearch : UserControl, IDataGridViewEditingControl
    private DataGridView dataGridView;
    private int rowIndex;
    private bool valueChanged = false;
    private CustomerTypeCell currentCell = null;
    public CustomerTypeCell OwnerCell
    get { return currentCell; }
    set
    currentCell = null;
    currentCell = value;
    public CustomerTypeSearch()
    InitializeComponent();
    private void buttonSearch_Click(object sender, EventArgs e)
    Form2 f = new Form2();
    DialogResult dr = f.ShowDialog(this);
    if (dr == DialogResult.OK)
    currentCell.Value = f.SelectedValue;
    this.textBoxSearch.Text = f.SelectedValue.Description;
    #region IDataGridViewEditingControl implementation
    public object EditingControlFormattedValue
    get
    if (this.currentCell.Value != null)
    return (this.currentCell.Value as CustomerType).Description;
    else
    return null;
    set
    if (this.currentCell != null)
    (this.currentCell.Value as CustomerType).Description = (string)value;
    public object GetEditingControlFormattedValue(DataGridViewDataErrorContexts context)
    return EditingControlFormattedValue;
    public void ApplyCellStyleToEditingControl(DataGridViewCellStyle dataGridViewCellStyle)
    this.BorderStyle = BorderStyle.None;
    this.Font = dataGridViewCellStyle.Font;
    public int EditingControlRowIndex
    get { return rowIndex; }
    set { rowIndex = value; }
    public bool EditingControlWantsInputKey(Keys key, bool dataGridViewWantsInputKey)
    return false;
    public void PrepareEditingControlForEdit(bool selectAll)
    //No preparation needs to be done
    public bool RepositionEditingControlOnValueChange
    get { return false; }
    public DataGridView EditingControlDataGridView
    get { return dataGridView; }
    set { dataGridView = value; }
    public bool EditingControlValueChanged
    get { return valueChanged; }
    set { valueChanged = value; }
    public Cursor EditingPanelCursor
    get { return base.Cursor; }
    #endregion
    private void CustomerTypeSearch_Resize(object sender, EventArgs e)
    buttonSearch.Left = this.Width - buttonSearch.Width;
    textBoxSearch.Width = buttonSearch.Left;
    Cell:
    public class CustomerTypeCell : DataGridViewTextBoxCell
    public CustomerTypeCell()
    : base()
    public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle)
    base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle);
    CustomerTypeSearch ctl = DataGridView.EditingControl as CustomerTypeSearch;
    ctl.OwnerCell = this;
    public override Type EditType
    get { return typeof(CustomerTypeSearch); }
    public override Type ValueType
    get { return typeof(CustomerType); }
    public override object DefaultNewRowValue
    get { return null; }
    Result:
    Regards,
    Carl
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Custom Control Doesn't Load On Some Clients

    I have a LightSwitch application developed in Visual Studio 2012 that has been in production for several years without any major issues. The application has a custom control that has been included in the app from the very beginning. The app uses Silverlight
    5.
    I recently made a change and re-deployed the application to the server. This is not the first change deployed since the app was released. The custom control no longer renders when running the app on some clients. Not all clients are affected.
    This is only a problem when running the app from the production server. When I run the app from the development server, the custom control renders without any issues on all clients.
    When the app runs from the production server, I get the following in place of the custom control:
    How do I get the control to render when running the app from the production server?
    Thank you,
    Jack Helfrich

    I recently updated to io6 and ran into FB notification not sounding. So I decided to do a backup like I have done many of times. Well doing this all my custom tones went by by...Never changing anything in itunes. They worked fine up until I restored. I did all the trouble shooting steps like normal for my custom tones. Re-synched and so on. text goes off...nothing, changed to a default tone worked fine then change back to custom tone worked, except for purchased tones those still don't work. I re-purchase one tone I already bought and now works fine. All are working again accept the original problem of the notification tone for FB still not working.

  • Adding commandLink to custom control

    I'm trying to create a custom control.
    I want to add a commandLink but really don't know how to bind to an action defined in the faces-config file. The commandLink is just link for navigation.
    I've put my code for the controle in de encodeBegins because i don't really need to use different renderers.
    How can i add the commandLink to my custom control and bind it to an action?
    THe action hasn't to be defined in an argument but is hard coded for now.
    I hope it's clear what i need....

    Hi Poorna,
       Thanks for the reply.
       I have to add field to the txn QM02. User will specify the value for the custom field in this txn and the same should be updated in the database table.
       The field is not a std SAP field, it is added to the table using append structure.
    Thanks,
    Punit

  • Custom controll showing repetative data

    Hello Friends,
    Im using custom control to allow user to enter long text in zmodule pool program.
    I have created three such custom control in my zscreen but when im saving the data all the three custom container is updating the database table with
    the data entered in the third custom control.
    Pls suggest what could be the reason ?
    Following is the code for your reference u2026 I hav repeated the same steps for the other two  custom control container
    Declarations *****************************************************
    CLASS event_handler DEFINITION.
      PUBLIC SECTION.
        METHODS: handle_f1 FOR EVENT f1 OF cl_gui_textedit
                 IMPORTING sender,
                 handle_f4 FOR EVENT f4 OF cl_gui_textedit
                 IMPORTING sender.
    ENDCLASS.                    "event_handler DEFINITION
    DATA:save_ok LIKE sy-ucomm.
    DATA: init,
          container TYPE REF TO cl_gui_custom_container,
          editor    TYPE REF TO cl_gui_textedit.
    DATA: event_tab TYPE cntl_simple_events,
          event     TYPE cntl_simple_event.
    DATA handle TYPE REF TO event_handler.
    DATA: line(256) TYPE c,
          text_tab LIKE STANDARD TABLE OF line,
          field LIKE line,
          wa_text type line,
          lv_txt type string,
          header like thead,
          header1 like thead,
          header2 like thead,
          tbtxt like standard table of line,
          WTBTXT type line,
          FTTXT LIKE STANDARD TABLE OF LINE,
          WFTTxt type line.
    Internal table to store the Longtext
    DATA:BEGIN OF I_LINES OCCURS 0.
            INCLUDE STRUCTURE TLINE.
    DATA:END OF I_LINES.
    DATA:BEGIN OF I_LINES1 OCCURS 0.
            INCLUDE STRUCTURE TLINE.
    DATA:END OF I_LINES1.
    DATA:BEGIN OF I_LINES2 OCCURS 0.
            INCLUDE STRUCTURE TLINE.
    DATA:END OF I_LINES2.
    Pbo
    MODULE STATUS_2000 OUTPUT.
      SET PF-STATUS 'ZPF2000'.
    SET TITLEBAR 'xxx'.
    IF init is initial.
       init = 'X'.
       FOR TEXTEDIT CUSTOM CONTROL
        CREATE OBJECT: container EXPORTING container_name = 'TEXTEDIT',
                       editor    EXPORTING parent = container,
                       handle.
        event-eventid = cl_gui_textedit=>event_f1.
        event-appl_event = ' '.                     "system event
        APPEND event TO event_tab.
        event-eventid = cl_gui_textedit=>event_f4.
        event-appl_event = 'X'.                     "application event
        APPEND event TO event_tab.
        CALL METHOD: editor->set_registered_events
                     EXPORTING events = event_tab.
        SET HANDLER handle->handle_f1
                    handle->handle_f4 FOR editor.
    ENDIF.
      CALL METHOD editor->set_text_as_stream
        EXPORTING
          text = text_tab.
    for tbtxt contaner
    CLEAR INIT.
    IF init is initial.
       init = 'X'.
        CREATE OBJECT: container EXPORTING container_name = 'TBTXT',
                       editor    EXPORTING parent = container,
                       handle.
      CALL METHOD editor->set_text_as_stream
        EXPORTING
          text = tbtxt.
    ENDMODULE.                 " STATUS_2000  OUTPUT
    PAI
    CASE SY-UCOMM.
        WHEN 'INSERT'.
          CONCATENATE ZSV_SD_SP-COMINV ZSV_SD_SP-COMINVYR INTO NAME.
          SELECT SINGLE * FROM STXH WHERE TDOBJECT = 'ZMEMO1'
                  AND TDNAME EQ NAME AND TDID EQ '0001'.
          IF SY-SUBRC EQ 0.
            DELETE FROM STXH WHERE TDOBJECT = 'ZMEMO1'
          AND TDNAME EQ NAME AND TDID EQ '0001'.
           COMMIT WORK AND WAIT.
            DELETE FROM STXL WHERE TDOBJECT = 'ZMEMO1'
        AND TDNAME EQ NAME AND TDID EQ '0001'.
    COMMIT WORK AND WAIT.
          ENDIF.
          CALL METHOD editor->get_text_as_stream
            IMPORTING
              text = text_tab.
          IF NOT TEXT_TAB[] IS INITIAL.
            LOOP AT TEXT_TAB INTO WA_TEXT.
              I_LINES-TDLINE = WA_TEXT-LINE.
              APPEND I_LINES.
              CLEAR : I_LINES,WA_TEXT.
            ENDLOOP.
            HEADER-TDOBJECT = 'ZMEMO1'.
            HEADER-TDNAME   = NAME.
            HEADER-TDID     = '0001'.
            HEADER-TDSPRAS  = SY-LANGU.
            CALL FUNCTION 'SAVE_TEXT'
              EXPORTING
               CLIENT                = SY-MANDT
                HEADER               = HEADER
               INSERT                = 'X'
      SAVEMODE_DIRECT       = ' '
      OWNER_SPECIFIED       = ' '
      LOCAL_CAT             = ' '
    IMPORTING
      FUNCTION              =
      NEWHEADER             =
              TABLES
                LINES                 = I_LINES[]
            IF SY-SUBRC EQ 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
              COMMIT WORK AND WAIT.
             REFRESH TEXT_TAB.
             CALL SCREEN 1000.
            ENDIF.
          ENDIF.
    ENDMODULE.                 " USER_COMMAND_2000  INPUT
    Kind Regards,
    Sunny Vaswani

    Hello Sandeep,
    One possiblility I suspect is only single internal table is getting used for all the three custom containers.
    Only then it is possible that finally that internal table will have data from 3rd container.
    Try defining different internal table per custom containers and then on save event you
    can save those internal tables to database one by one.
    One more way to debug this program is go unit wise.
    For e.g.
    During first test only enable code for first editor and save data from that container to database.
    like wise you can go on enabling code for rest of two containers this way you will come to know where
    actually data is getting overwritten.
    Apart from that I would also like to suggest you to follow abap standard and avoid using obsolute statements like occur etc.
    Also you can make use of Markup facilities for posting code which is provided on right bottom of sdn page.
    for e.g.
    -> Displays the line as programming code
    Check if this can help!
    Enjoy SAP!
    Augustin.

  • How can I find the coordinates of individual controls inside a custom control?

    I have a custom control that contains 44 smaller custom controls.
    I can get the coordinates of the 44 embedded custom controls by getting the controls[] property of the main control, but I cannot find a way of getting the coordinates of the controls inside each of these smaller custom controls.
    Is there a way of getting at the coordinates of custom controls that are nested several layers deep?
    Erik.

    For future reference and for any LabVIEW users who have older versions here are the Front Panel displays before running the VI along with the Wiring Diagram with each of the four cases for handling the various types of ClassIDs that can contain child controls.  X1, X@, Y1, and Y2 are the coordinates of the top left and bottom right corners of each control.  These coordinates can then  be used to determine which control the mouse is pointing at.
    In my own project I did further evaluation to eliminate all parent controls (controls that contain other controls) and passed along only the controls that were end-nodes (controls that contain no other controls). Also, the control's refnum was stored for later use.
    The bottom picture shows the data gathered during the execution of this VI.
    Thanks again, Mike!

  • LabVIEW and custom controls

    Hi all,
    I'm an italian PhD student working with Polytechnic of Bari.
    I'd like to submit to this forum a question about LabVIEW and custom controls in form of ActiveX components.
    Some introductory word about my problem will be helpful: in the past few months here at Polytechnic of Bari my colleagues and I developed some useful ActiveX controls with custom functionalities to use in LabVIEW.
    For example we developed a "contraves", an
    "endless knob" and a useful counter with a scale very similar to that of standard gazometers or energy counters.
    However we are experimenting some difficulties with the integration of these controls in LabVIEW; the controls are correctly imported in our VIs with using the ActiveX Container but...
    in the block diagram they appear as ActiveX references and we must use property nodes to access even their most useful property (value).
    Please, do someone of you know if (and eventually how) is it possible to integrate more deeply the controls in the LabVIEW environment?
    Do someone of you know if it exist an hypothetical "Custom Controls SDK" for LabVIEW more advanced of that integrated in LabVIEW 6.0?
    Any hint would be appreciated.

    > Please can you specify in more detail how I can obtain the ActiveX
    > refnum input automatically wired to a constant (I have observed this
    > behaviour with the 3D-Graph control as you suggested). I haven't found
    > any reference in the LabVIEW on-line help about the topic "merge-VI".
    >
    The first step is to build a VI that contains the panel and diagram
    elements that you want to drop all at once. In your case, drop the
    ActiveX control at a good size, and on the diagram, you can wire it to
    helper VIs, property nodes, etc. The VI's icon and name are important
    as that is what will show up in the palette menu representing your
    control. The connector pane isn't used.
    With the VI constructed, you want to add it to the palette menu. In the
    Tools menu, Advanced, there is an item about half way down for
    Customizing the Palette menu. You will need to build a New Palette Set
    using the ring and name it whatever you like. You can now add your VI
    wherever you like. Most likely you will want to right click to add a
    new subMenu in the Controls palette and place it in a new .mnu file. In
    the subMenu, right click to add Control. The file dialog will open
    allowing you to select a control file to add to the palette. By
    changing the filter from .ctl to all, you can insert VIs into the
    controls palette.
    All VIs inserted into the Control palette will act as merge VIs, meaning
    that when dragged to a panel, the panel elements will be merged into the
    destination panel, and the diagram elements will be merged into the
    destination diagram.
    For others that want to have these on the Functions palette rather than
    the Controls, you add the VI to the Functions palette, then popup on the
    palette item and check the menu item to make it a Merge VI.
    When it comes time to distribute, you will want to give out your .mnu
    file and the VI of course. Easiest is to place both of them in
    user.lib. If you want the items to go at the top level of the palettes,
    then you can add them to add-ons inside of vi.lib, but this causes more
    upgrade challenges.
    Hope that helps.
    Greg McKaskle

  • I need create a custom control for visualization HTML

    Hi guys,
      I need create a custom control for HTML files visualization on SAPGUI JAVA. I created a sample program and perfectly run on SAPGUI Windows.
    Thanks.
    Regards.
    Jose Antonio Campos.

    Hi,
    Just as a quick start
    http://gumbo.flashhub.net/sizer/  (view source enabled).
    this uses a skin to make a titlewindow resizable, its not about the skin as much as giving you a starting point for resizing code.
    if you look into the skin you will see these functions
    protected function sizer_mouseDownHandler(event:MouseEvent):void
    OldX=event.stageX;
    OldY=event.stageY;
    systemManager.addEventListener(MouseEvent.MOUSE_MOVE,startResize);
    systemManager.addEventListener(MouseEvent.MOUSE_UP,endResize);
    protected function endResize(event:MouseEvent):void
    systemManager.removeEventListener(MouseEvent.MOUSE_MOVE,startResize);
    systemManager.removeEventListener(MouseEvent.MOUSE_UP,endResize);
    private function startResize(event:MouseEvent): void
    hostComponent.width -= OldX-event.stageX;
    hostComponent.height -= OldY-event.stageY;
    OldX=event.stageX;
    OldY=event.stageY;
    The idea is to have a hit area on your custom component (a corner, or all corners). You capture the mouseposition when you mousedown then in the mouse move eventlistener you update the object size with the difference between current X and Y from initial X and Y.
    Hope this gets you started.
    David

  • Issue in Custom Control UI element

    Hi there,
                   I have created 2 custom controls(SAP mobile 7.1), one for rendering images(actually map images) and another for capturing user's signature. Both are integrated into the main application and works fine when alone. But when present together, certainly on different screens in the main app, still it works but with rendering problems. Say when navigating from the screen that displays the map custom control to the screen that has the signature capuring custom control, the map image is still getting displayed over the signature custom control view.
               I wonder , if the problem is with disposing of the custom control. Can anyone suggest how to do that. Or something else has to be done?
    Regards,
    Aravind

    Hopefully someone more knowledgeable about custom controls \ SWT can add some input
    I do know disposing the SWT controls is important but not sure if it would solve your problem
    from our application that uses a few simple custom controls together, we definitely needed to use dispose or it would cause memory consumption issues and slow performance
    within the constructor
    [Text object].addDisposeListener(this);
    method to dispose color and fonts used
    public void widgetDisposed(DisposeEvent event)
                  font.dispose();
                  amber.dispose();

Maybe you are looking for

  • How do I create an interactive execution using VC++.

    My software uses the #import ..\teapi.dll directive. I followed the help files which are too far abstracted from reality to be useful. Or, perhaps they are simply not written with the above #import in mind. I setup the interactiveargs object with the

  • MacBook Pro running OS X 10.8.2 and iTunes 11 freezing

    I am stymied with my MacBook Pro running OS X 10.8.2 and iTunes 11. Every time I start iTunes, after a few seconds I get the spinning beach ball and have to force quite. I have update to the newest iTunes. Any ideas or suggestions?

  • Suggestions for reinstalling Dreamweaver CS5 on Yosemite without error message?

    Hello, I recently uninstalled my Dreamweaver CS5 because it wasn't working properly after upgrading to Yosemite. It would start up and then freeze so I would have to Force Quit. I am trying to reinstall it but I keep getting an error message. I've lo

  • Migration won't work from mac os x 10.6 to mac os x 10.10

    I'm trying to migrate all my information, data etc. from my mac os x 10.6.8 to a mac os x 10.10 and I get a error message on the migration assistant on the mac os x 10.10 saying I need to upgrade the mac os x 10.6.8 to continue the migration. But on

  • Problem conecting  and  file-sharing between two net-worked macs

    I have a Mac Pro (in an out-building in my back-garden) and an Imac (in the house) connected by a long ethernet cable (must be at least 20 metres). I used to have no trouble connecting one to the other till recently. I still usually have no trouble c