revisa el siguiente enlace te puede ayudar con lo que necesitas.
h**p://www.koders.com/cpp/fid48097863045A0A791D7A48CE908B5AC4D90AFA28.aspx?s=barcode#L45
h**p://www.koders.com/cpp/fidF5A599CBF2FEA72282997DA80D786AD2BECEB3AA.aspx?s=barcode.h#L2
Otra opción es la siguiente: (el código lo debes convertir a c++), y la cadena retornada colocarla en un Tlabel, o TEdit y que tenga una fuente BARCODE 128 que las puedes encontrar en la web.
STRING ls_start, ls_stop, ls_ret, ls_check, ls_car
INTEGER li_long, li_cont, li_checksum, li_ASC, li_pos
BOOLEAN lb_found
//Caracter de inicio
ls_start = Char(105 + 32)
//Caracter de parada
ls_stop = Char(106 + 32)
li_checksum = ASC(ls_start) - 32
ls_ret = TRIM(as_data2convert)
li_long = LEN(ls_ret)
//Asegurar que la longitud de la cadena siempre sea par
IF MOD(li_long,2) <> 0 THEN
ls_ret = "0" + ls_ret
li_long = LEN(ls_ret)
END IF
//Convierto los pares a caracteres
ls_car = ""
FOR li_cont = 1 TO li_long STEP 2
ls_car = ls_car + Char(Integer(Mid(ls_ret,li_cont,2)) + 32)
NEXT
ls_ret = ls_car
li_long = LEN(ls_ret)
//Suma de productos para hallar el caracter de control
FOR li_cont = 1 TO li_long
li_ASC = ASC(Mid(ls_ret,li_cont,1)) - 32
li_checksum = li_checksum + (li_ASC * li_cont)
NEXT
ls_check = Char(MOD(li_checksum,103) + 32)
//Se obtiene la nueva cadena de caracteres ASCII
ls_ret = ls_start + ls_ret + ls_check + ls_stop
//En la conversión a caracteres ASCII se debe contemplar algunos
//caracteres especiales. Se deben reemplazar por caracteres validos
li_long = LEN(ls_ret)
li_cont = 1
lb_found = TRUE
DO WHILE lb_found
//Cambiar el Char(32) por Char(232)
li_pos = Pos( ls_ret, Char(32), li_cont )
IF li_pos > 0 THEN
ls_ret = Replace ( ls_ret, li_pos, 1, Char(232) )
li_cont = li_pos
ELSE
lb_found = FALSE
END IF
LOOP
li_long = LEN(ls_ret)
li_cont = 1
lb_found = TRUE
DO WHILE lb_found
//Cambiar el Char(127) por Char(192)
li_pos = Pos( ls_ret, Char(127), li_cont )
IF li_pos > 0 THEN
ls_ret = Replace ( ls_ret, li_pos, 1, Char(192) )
li_cont = li_pos
ELSE
lb_found = FALSE
END IF
LOOP
li_long = LEN(ls_ret)
li_cont = 1
lb_found = TRUE
DO WHILE lb_found
//Cambiar el Char(128) por Char(193)
li_pos = Pos( ls_ret, Char(128), li_cont )
IF li_pos > 0 THEN
ls_ret = Replace ( ls_ret, li_pos, 1, Char(193) )
li_cont = li_pos
ELSE
lb_found = FALSE
END IF
LOOP
RETURN ls_ret